码迷,mamicode.com
首页 > 其他好文 > 详细

TCP/IP基础(一)

时间:2014-10-21 10:29:11      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:tcp   ip   linux网络编程   

一.TCP/IP 协议族体系结构以及主要协议

   TCP/IP协议族是一个才四层协议系统。

bubuko.com,布布扣

     数据链路层:实现了网卡接口的网络驱动程序,以处理数据在物理媒介(比如以太网,令牌网等)上的传输。数据链路层两个常用的协议是ARP协议(Address Resolve Protocol,地址解析协议)和 RARP协议(Revers Address Resovle Protocol,逆地址解析协议)。实现了IP地址与物理地址的转换

    网络层:实现数据包的选路和转发。网络层有两个主要的协议:IP协议(Internet Protocol,因特网协议)和ICMP协议(Internet Control Message Protocol,因特网控制报文协议),其中IP协议最为核心。

    传输层:为两台主机上的应用程序提供端到端的通信。传输层主要有三个主要的协议:TCP协议,UDP协议,SCTP协议。

    应用层:负责处理应用程序的逻辑。应用层主要在用户空间实现,负责处理众多逻辑:如文件,名称查询和网络管理等。


二. 封装

    应用程序发送到物理网络上之前,将沿着协议栈从上往下依次传递。

bubuko.com,布布扣


    经过TCP封装后的数据称为TCP报文段,简称TCP段。同样也有UDP数据报,IP数据报。经过数据链路层封装的数据称为帧(frame)。

      以太网帧使用6字节的目的物理地址和6字节的源物理地址来表示通信的双方。

      帧才是最终在物理网络上传输的字节序列。

三.分用

     当帧到达目的主机后,沿着协议栈自底向上一次传递。分用是依靠头部信息中的类型字段实现的。

   bubuko.com,布布扣


     IP协议,ARP协议和RARP协议都是帧传输数据。帧的头部需要字段来区分它们。如以太网帧字段类型的值为:

         0x8000,则帧的数据部分为IP数据报,以太网程序就将帧交付给IP模块。

         0x806,则为ARP请求或应答报文。

         0x835,为RARP请求或应答程序。


     帧分用以后,最终到达将封装前的原始数据送到目标服务。

四. 端口

   众所周知端口(Well know ports):从0到1023,这些端口由IANA分配和控制它们绑定一些服务。

   注册端口(Registered Ports):从1024到49151,这些端口不受IANA控制,但由IANA登记并提供使用清单。如:1433 Microsoft SQL服务器端口。

   动态或私有端口(Dynamic or Private Ports):从49152到65535.IANA不管这些端口。





TCP/IP基础(一)

标签:tcp   ip   linux网络编程   

原文地址:http://blog.csdn.net/u014304293/article/details/40339169

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!