TCP/IP 协议大致的概念

简介:

最近在看《图解HTTP》和《HTTP权威指南》,对TCP/IP大致过了一下。

 

  TCP/IP 不仅仅是TCP 和 IP 

  TCP/IP 是协议族,与之相对的事IEEE等标准组织设定的OSI七层。这里面涉及到的协议有:

    • TCP   传输控制协议                     传输层。
    • IP     网际协议                           网络层。
    • ARP    地址解析协议                        数据链路层协议。
    • UDP    用户数据报协议                  传输层。
    • ICMP   Internet控制报文协议          网络层。
    • DNS    域名系统                      为ip绑定逻辑名称。
    • HTTP   超文本传输协议                 应用层。

作为一名java web工程师,可以说90%涉及的工作是HTTP协议,如果做IM或者云存储可能会涉及到TCP+UDP。所以,HTTP和TCP,是基本功。

 

     为什么要分层,要能理解,每一层的意义所在 

  作为分隔两地的计算机系统上不同应用程序,他们之间如果需要通信,首先要知道对方是谁。

  • 传输层是怎么区分不同对象的,ip:端口
    • 然后我要传输数据,数据按照什么方式打包送过去呢?
      • 报文 Message,报文是什么,是用户自定义长度(相对于底层协议来说)的二进制数据。然后在Message前加上传输层报文。

 

  • 传输层的数据到网络层,然后网络层是怎么区分不同对象的,ip
    • 然后我要传输数据,数据按照什么方式打包送过去呢?
      • 报文  Package,是我网络层无差别地对你传输层大数据报进行切割的小单位。然后在package前加上网络层报文。

 

  • 网络层到数据链路层,怎么办,这个时候,已经没有ip了,有的是什么,mac,真实物理世界的身份证。
    • 然后我要传输数据,数据按照什么方式打包送过去呢?
      • 分组 frame, 进一步进行切割的单位。然后在frame前加上链路层报文。

 

 可以看到,这三层的行为模式很相近。那为什么要分为三层。

因为,数据传输要解决的问题太多了。通过对问题进行归类,不同层次来专门解决不同问题。有点工业2.0,福特生产线的味道。

传输层,要解决的事,两个应用程序间传输数据。其实问题很抽象,因为层次高。所以,只设定两个应用程序的地址(ip+端口)就好了。

网络层,要解决在跨越多个网络,长距离的情况下,我怎么找到另外一个主机,其实核心就是路由寻址。

然后,就进入了“最后半公里”,将ip转换为mac,在链路层传输分组。

分层,也是大型软件设计的工程学思想。 

 

       还有,每到下面一层时,一般都会进行数据切片分割?   

  

  因为需要复用。复用的场景是不同的。比如在数据链路层,有很多编码方式,还有什么频分复用、码分复用、时分复用等等,通过不同的编码方式来进行复用。

  在网络层也是,通过分片,我可以走多个通路。并行的思想。

  在传输层,有一个概念叫带宽,就算我能一下把所有数据给你送过去,你机器的内存难道不会撑爆吗。

             

 本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/5510462.html,如需转载请自行联系原作者

相关文章
|
5月前
|
缓存 网络协议 Linux
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
|
1天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
11月前
|
消息中间件 网络协议 安全
TCP/IP 应用层常用协议
TCP/IP 应用层常用协议
291 0
|
负载均衡 网络协议 网络安全
TCP/IP:有层次的协议栈
TCP/IP:有层次的协议栈
175 0
TCP/IP:有层次的协议栈
|
网络协议
TCP/IP协议的介绍
TCP/IP协议是众多协议的统称,通过分层结构来管理。可分为七层模型或四层结构
|
网络协议 算法
【网络篇】第十二篇——TCP协议通讯流程
【网络篇】第十二篇——TCP协议通讯流程
【网络篇】第十二篇——TCP协议通讯流程
|
监控 网络协议 安全
一文了解HTTP、HTTPS、TCP、UDP、Websocket(论点:概念、通信流程、异同点、应用领域)
一文了解HTTP、HTTPS、TCP、UDP、Websocket(论点:概念、通信流程、异同点、应用领域)
|
网络协议 网络架构
六、TCP/IP模型 和 5层参考模型
六、TCP/IP模型 和 5层参考模型
六、TCP/IP模型 和 5层参考模型
|
域名解析 网络协议
IP协议, TCP协议 和DNS 服务分别是干什么的?
大家好,我是阿萨。昨天讲解了网络四层协议[TCP/IP协议族分为哪4层?]今天我们学习下IP 协议, TCP 协议和DNS 协议分别是干什么的。
211 0
IP协议, TCP协议 和DNS 服务分别是干什么的?
|
网络协议
TCP/IP协议族有哪些?
大家好,我是阿萨。昨天我们学习了[URI 和URL 的区别是什么?]了解了URI 和URL的区别。 学习HTTP, 绕不开TCP/IP,那么TCP/IP 协议族分为哪4层?
254 0
TCP/IP协议族有哪些?