tcp/ip详解(1-2)

一般情况下,传输层以及以下各层是在操作系统内核中执行的。


TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame)。


以太网数据帧的物理特性使其长度必须在46~1500字节之间。


IP数据报在首部有一个协议域。1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。


链路层主要有三个目的:(1)为IP模块发送和接收IP数据报;(2)为ARP模块发送ARP请求和接收ARP应答;(3)为RARP发送RARP请求和接收RARP应答。


对于以太网:
1. 必须能发送和接收采用RFC894(以太网)封装格式的分组。
2. 应该能接收与RFC894混合的RFC1042(IEEE 802)封装格式的分组。
3. 也许能够发送采用RFC1042格式封装的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是RFC894分组。


最常使用的封装格式是RFC894定义的格式。


IEEE 802和以太网帧的区别:




SLIP的全称是Serial Line IP。它是一种在串行线路上对IP数据报进行封装的简单形式,在RFC1055中有详细描述。SLIP适用于家庭中每台计算机几乎都有的RS-232串行端口和高速调制解调器接入Internet。


SLIP协议定义的帧格式:
1. IP数据报以一个称作END(0xc0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个END字符(如果有线路噪声,那么END字符将结束这份错误的报文。这样当前的报文得以正确地传输,而前一个错误报文交给上层后,会发现其内容毫无意义而被丢弃)。
2. 如果IP报文中某个字符为END,那么就要连续传输两个字节0xdb和0xdc来取代它。0xdb这个特殊字符被称为SLIP的ESC字符,但是它的值与ASCII码的ESC字符(0x1b)不同。
3. 如果IP报文中某个字符为SLIP的ESC字符,那么就要连接传输两个字节0xdb和0xdd来取代它。





SLIP缺陷:
1. 每一端必须知道对方的IP地址。没有办法把本端的IP地址通知给另一端。
2. 数据帧中没有类型字段。如果一条串行线路用于SLIP,那么它不能同时使用其他协议。
3. 没有数据检验和。


PPP



环回接口:

1. 传给环回地址(一般是127.0.0.1)的任何数据均作为IP输入。
2. 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。
3. 任何传给该主机IP地址的数据均送到环回接口。


MTU:
以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节。如果IP层有一个数据要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片(fragmentation),把数据报分成若干片,这样每一片都小于MTU。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值