【学习笔记】TCP/IP基础(1)







1,摘要碎片

分层是网络协议常见的样貌。每层负责不同的功能。一个协议族是一组不同层次上的多协议组合。常见有:

TCP/IP 4层:

----------------链路层----------

----------------运输层----------    TCP    UDP

----------------网络层----------

----------------链路层----------

每一层各有不同的责任。在T C P / I P中,网络层和运输层之间的区别是最为关键的:网络层( I P)提供点到点的服务,而运输层(T C P和U D P)提供端到端的服务。



在Internet上查找信息



互联网的地址:

互联网上每个接口都必须有一个唯一的Internet地址(又称ip地址)。(china.pub.com互动出版网)分为五类:ABCDE.

应用编程接口:使用TCP/IP协议的应用通常使用两种API: socket 和 TLI。



链 路 层

链路层主要有三个目的:(1)为I P模块发送和接收I P数据报;(2)为A R P模块发送A R P请求和接收A R P应答;(3)为R A R P发送R A R P请求和接收R A R P应答。T C P / I P支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网、令牌环网、F D D I(光纤分布式数据接口)及 R S-2 3 2串行线路等。


MTU    最大传输单元

参考RFC 1191[Mogul and Deering 1990]。

这个知识点直接转发博文《Discovery学习之路-交换机-MTU、和路径MTU

(csdn.net/yanxin007)http://blog.csdn.net/discoveryunknown/article/details/9383031   


MTU是什么

MTU(Maximum Transmission Unit)即最大传输单元。是指一种通信协议的某一层上面所能通过的最大数据报大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。不同的网络类型对于MTU的限制不一样例如:ppp-296;IEEE 802.3-1492;以太网-1500;FDDI-4352;超通道:65535;点到点的链路层(如SLIP和PPP)的MTU并非指的物理限制,而是一种逻辑限制,目的是为交互使用提供足够快的响应时间(数据量过大则必然导致传输时间过长)。


详细解释为:因特网协议允许IP分片,这样就可以将数据报分成足够小的片段以通过那些最大传输单元小于该数据包原始大小的链路了。这一分片过程发生在传输层(OSI模型的第四层,传输层:O S I模型中最重要的一层。传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割。例如,以太网无法接收大于15 0 0字节的数据包。发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组。该过程即被称为排序。),它使用的是将分组发送到链路上的网络接口的最大传输单元的值。原始分组的分片都被加上了标记,这样目的主机的IP层就能将分组重组成原始的数据报了.


MaxMTU是最大的TCP/IP传输单元,在TCP/IP协议中,将要传输的数据分成较小的组进行传输,每个组的大小为576字节。Windows默认的字节为1500,这是以太网的分组标准。ADSL使用的PPPoE略小于这个数值,一般为1492.

In computer networking, themaximum transmission unit (MTU) of acommunications protocol of a layer is the size (inbytes) of the largestprotocol data unit that the layer canpass onwards. MTU parameters usually appear in association with acommunications interface (NIC,serial port, etc.). Standards(Ethernet, for example) can fix the sizeof an MTU; or systems (such as point-to-point serial links) maydecide MTU at connect time.

A larger MTU brings greater efficiency because each packetcarries more user data while protocol overheads, such as headers orunderlying per-packet delays, remain fixed; the resulting higherefficiency means a slight improvement in bulk protocol throughput.A larger MTU also means processing of fewer packets for the sameamount of data. In some systems, per-packet-processing can be acritical performance limitation.

Large packets can occupy a slow link for some time, causinggreater delays to following packets and increasinglag and minimum latency. For example, a1500-byte packet, the largest allowed by Ethernet at the networklayer (and hence over most of theInternet), ties up a14.4k modem for about one second.

Large packets are also problematic in the presence ofcommunications errors. Corruption of a single bit in a packetrequires that the entire packet be retransmitted. At a givenbit error rate larger packets are morelikely to be corrupted. Retransmissions of a larger packet takeslonger.

Table of MTUs of common media

Note: the MTUs in this section are given as the maximum size ofIP packet that can be transmitted without fragmentation - includingIP headers but excluding headers from lower levels in the protocolstack. The MTU must not be confused with the maximumdatagram size (size of reassembled packet), which has aminimum value of 576 for IPv4[1]and of 1500 for IPv6.[2]

Media Maximum Transmission Unit (bytes) Notes
InternetIPv4 Path MTU At least 576[3] Practical path MTUs are generally higher. All hosts must beprepared to accept datagrams of up to 576 octets (whether theyarrive whole or in fragments). Systems may usepath MTU discovery[4]to find the actual path MTU.
InternetIPv6 Path MTU At least 1280[5] Practical path MTUs are generally higher. Systems may usepath MTU discovery[6]to find the actual path MTU.
Ethernet v2 1500[4] Nearly all IP over Ethernet implementations use theEthernet V2 frame format.
Ethernet (802.3) 1492[4]
Ethernet Jumbo Frames 1500-9000 The limit varies by vendor. For correct interoperation, thewhole Ethernet network must have the same MTU. Jumbo frames areusually only seen in special purpose networks.
WLAN (802.11) 2272[7]  
Token Ring (802.5) 4464  
FDDI 4500[4]

MTU检测

在本机打开dos窗口,执行: ping -f -l 1472 192.168.0.1 其中192.168.0.1是网关IP地址,1472是数据包的长度。请注意,上面的参数是“-l”(小写的L),而不是“-1”,“-f”表示对于本数据报不要进行分片。 如果能ping通,表示数据包不需要拆包,可以通过网关发送出去。 如果出现: Packet needs to be fragmented but DF set. 表示数据包需要拆开来发送。此时,减少数据包长度,再执行上面的ping命令。从1400到1472之间多试几次,就能找到合适的数据包长度了。把数据包长度加上数据包头28字节,就得到MTU的值。 如果检测到网关的MTU值是1500,不需要修改。 如果网关有防火墙ping不通,可以试试直接把MTU设为1400。

如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,相对于之前就可以减少丢包。所以设置MTU有时是很有用的!

路径MTU

从源地址到目的地址所经过“路径”上的所有IP跳的最大传输单元的最小值。或者从另外一个角度来看,就是无需进一步分片就能穿过这条“路径”的最大传输单元的最大值。

路径MTU检测

这是一种确定两个IP主机之间路径最大传输单元的技术,其目的是为了避免IP分片。在这项技术中,源地址将数据报的DF(Don't Fragment,不要分片)位置位,再逐渐增大发送的数据报的大小——路径上任何需要将分组进行分片的设备都会将这种数据报丢弃并返回一个“数据报过大”的ICMP响应到源地址——这样,源主机就“学习”到了不用进行分片就能通过这条路径的最大的最大传输单元了。


ARP 地址解析协议

从逻辑I n t e r n e t地址到对应的物理硬件地址需要进行翻译。这就是 A R P的功能。


 (以下摘取于实验楼www.shiyanlou.com)

 IP 地址

网络上每一个节点都必须有一个独立的 IP 地址,通常使用的 IP 地址是一个 32bit 的数字,被 . 分成 4 组,例如,255.255.255.255 就是一个 IP 地址。有了 IP 地址,用户的计算机就可以发现并连接互联网中的另外一台计算机。

在 Linux 系统中,可以用 ifconfig -a 命令查看自己的 IP 地址:

域名

用 12 位数字组成的 IP 地址很难记忆,在实际应用时,用户一般不需要记住 IP 地址,互联网给每个 IP 地址起了一个别名,习惯上称作域名。

域名与计算机的 IP 地址相对应,并把这种对应关系存储在域名服务系统 DNS(Domain Name System) 中,这样用户只需记住域名就可以与指定的计算机进行通信了。

常见的域名包括 com、net 和 org 三种顶级域名后缀,除此之外每个国家还有自己国家专属的域名后缀(比如我国的域名后缀为 cn)。目前经常使用的域名诸如百度(www.baidu.com)、Linux 组织(www.lwn.net)等等。

我们可以使用命令 nslookup 或者 ping 来查看与域名相对应的 IP 地址,由于实验楼网络限制,我们可以使用ping github.com查看。

MAC 地址

MAC(Media Access Control)地址,或称为物理地址、硬件地址,用来定义互联网中设备的位置。

在 TCP/IP 层次模型中,网络层管理 IP 地址,链路层则负责 MAC 地址。因此每个网络位置会有一个专属于它的 IP 地址,而每个主机会有一个专属于它 MAC 地址。

端口号

IP 地址是用来发现和查找网络中的地址的,但是不同程序如何互相通信呢,这就需要端口号来识别了。如果把 IP 地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是端口采用 16 比特的端口号标识,一个 IP 地址的端口可以有 65536(即:2^16)个之多!

服务器的默认程序一般都是通过人们所熟知的端口号来识别的。例如,对于每个 TCP/IP 实现来说,SMTP(简单邮件传输协议)服务器的 TCP 端口号都是 25,FTP(文件传输协议)服务器的 TCP 端口号都是 21,TFTP(简单文件传输协议)服务器的 UDP 端口号都是 69。任何 TCP/IP 实现所提供的服务都用众所周知的 1-1023 之间的端口号。这些人们所熟知的端口号由 Internet 端口号分配机构(Internet Assigned Numbers Authority, IANA)来管理。

常用协议对应端口号:

  • SSH 22
  • FTP 20 和 21
  • Telnet 23
  • SMTP 25
  • TFTP 69
  • HTTP 80
  • SNMP 161
  • Ping 使用ICMP,无具体端口号
封装和分用
(选取于实验楼www.shiyanlou.com)

封装:当应用程序发送数据的时候,数据在协议层次当中从顶向下通过每一层,每一层都会对数据增加一些首部或尾部信息,这样的信息称之为协议数据单元(Protocol Data Unit,缩写为PDU),在分层协议系统里,在指定的协议层上传送的数据单元,包含了该层的协议控制信息和用户信息。

物理层(一层)PDU指数据位(Bit)
数据链路层(二层)PDU指数据帧(Frame)
网络层(三层)PDU指数据包(Packet)
传输层(四层)PDU指数据段(Segment)
第五层以上为数据(data)
(选取于实验楼www.shiyanlou.com)
分用:当主机收到一个数据帧时,数据就从协议层底向上升,通过每一层时,检查并去掉对应层次的报文首部或尾部,与封装过程正好相反。


1.A记录  

又称IP指向,用户可以在此设置子域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器。 

说明:·指向的目标主机地址类型只能使用IP地址;    

 2. CNAME  
通常称别名指向。可以为一个主机设置别名。比如设置test.mydomain.com,用来指向一个主机www.rddns.com那么以后就可以用test.mydomain.com来代替访问www.rddns.com了。 
说明:CNAME的目标主机地址只能使用主机名,不能使用IP地址;·主机名前不能有任何其他前缀,如:http://等是不被允许的;·A记录优先于CNAME记录。即如果一个主机地址同时存在A记录和CNAME记录,则CNAME记录不生效。   
3.MX记录 
 邮件交换记录。用于将以该域名为结尾的电子邮件指向对应的邮件服务器以进行处理。如:用户所用的邮件是以域名mydomain.com为结尾的,则需要在管理界面中添加该域名的MX记录来处理所有以@mydomain.com结尾的邮件。  
说明:MX记录可以使用主机名或IP地址;·MX记录可以通过设置优先级实现主辅服务器设置,“优先级”中的数字越小表示级别越高。也可以使用相同优先级达到负载均衡的目的;·如果在“主机名”中填入子域名则此MX记录只对该子域名生效。 
4.NS记录  
解析服务器记录。用来表明由哪台服务器对该域名进行解析。这里的NS记录只对子域名生效。 
例如用户希望由12.34.56.78这台服务器解析news.mydomain.com,则需要设置news.mydomain.com的NS记录。 
说明:·“优先级”中的数字越小表示级别越高;·“IP地址/主机名”中既可以填写IP地址,也可以填写像ns.mydomain.com这样的主机地址,但必须保证该主机地址有效。 
 如,将news.mydomain.com的NS记录指向到ns.mydomain.com,在设置NS记录的同时还需要设置ns.mydomain.com的指向, 

否则NS记录将无法正常解析;·NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。这里的NS记录只对子域名生效。










http://www.cs.dartmouth.edu/~campbell/cs60/assignments.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值