版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1嵌入式改变未来!LinuxLinux高级编程(七)高级编程(七)张勇涛2TCP/IPTCP/IP协议基础协议基础3缘起 TCP/IP (通常它是指传输控制协议/网际协议, Transmission Control Protocol/Internet Protocol)是发展至今最成功的通信协议 Internet最初的设计是为了满足美国国防的需要,具体来讲就是使美国政府即使在遭受核打击时也能保证通信不间断, TCP/IP就是用于这个目的的。 开放式、抗毁性和可靠性 TCP/IP是一个开放式通信协议, 开放性意味着在任何组合间,不管这些设备的物理特征有多大差异,都可以进行通信。4计算机网络体系结
2、构分类 计算机网络的体系结构式按照高度结构化设计方法,采用功能分层原理来实现的. 计算机网络体系结构主要有两种标准:OSI和TCP/IP5OSI参考模型与TCP/IP参考模型应用层表示层会话层传输层网络层数据链路层物理层应用层传输层网络层链路层OSI参考模型TCP/IP参考模型6TCP/IP协议栈 TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层7TCP/IP协议栈分为4层: 应用层应用层 传输层传输层 网络层网络层 链路层链路层 数据链路层物理层数据链路层物理层应用层传输层网络层链路层data link
3、physical注: TCP/IP体系结构有时也采用5层表示方法,即用数据链路层和物理层代替链路层。8TCP/IP协议OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU 物理层
4、以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802.1,EEE802.2 9TCP/IP参考模型的各层功能描述链路层的主要功能如下: 它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。网络层的主要功能如下:进行路由选择、流量控制与拥塞控制提供无连接服务的网络协议网络层负责“点到点”(point-to-point)的传输(这里的“点”指主机或路由器)运输层(传输层)的主要功能如下:传输层负责计算机程序到计算机程序之间的通讯问题,即所谓的“端到端端到端”(end-to-end)的传输。运行TCP和UDP协议应用层的主要功能如下:进行进程之间通信的协议数据处理10TCP/IP
5、协议通讯的过程11TCP/IP协议通信模型12数据的封装与传递过程13发送端:数据打包NetworkApplication BufferTCP/UDP HeaderIP HeaderEthernet HeaderApplication BufferTCP/UDP HeaderIP HeaderApplication BufferTCP/UDP HeaderApplication Buffer14接收端:数据解包NetworkApplication BufferTCP/UDP HeaderIP HeaderEthernet HeaderApplication BufferTCP/UDP Head
6、erIP HeaderApplication BufferTCP/UDP HeaderApplication Buffer15TCP/IP结构ftppingtelnetmailTCPUDPIP (+ICMP)Device Drivers网线应用层应用层传输层传输层网络层网络层物理层物理层Raw Socket内核模式内核模式Stream SocketStream SocketStream Socket用户模式用户模式16TCP/IP数据包的封装17Multiplexing过程18 任务:在物理媒体(介质)上正确地、透明地传送比特流。 协议(标准):规定了物理接口的各种特性: 机械:物理连接器的尺
7、寸、形状、规格 电气:信号电平,信号的脉冲宽度和频率,数据传送速率,最大传输距离等 功能:接口引(线)脚的功能和作用 规程:信号时序,应答关系,操作过程 功能:建立和拆除物理连接、位流传输、管理 例:RS-232、RS-449、V.24、 V.35、G.703/G.704(第1层)物理层(physical layer)19(第2层)数据链路层(data link layer) 任务:在两个相邻节点间可靠地传输数据,使之对网络层呈现为一条无错的链路。 功能与服务: 建立与拆除数据链路连接 组帧:帧封装,按顺序传送,处理返回的确认帧; 定界与同步:产生/识别帧边界; 差错检测/恢复:可靠的传输,C
8、RC,ARQ; 流量控制:抑止发送方的传输速率,使接收方来得及接收。20(第3层) 网络层(network layer,internet layer) 任务:选择合适的路由,把分组从源端传送到目的端。 功能与服务: 在源端与目的端之间建立、维护、终止网络的连接 路由选择和分组中转 流量控制和拥塞控制 多路复用:为多个传输层实体提供网络连接服务 分段与组合:大数据块分段,小数据块组合 差错检测与恢复 流量统计和记账 IP协议: 提供无连接的数据报服务21链路层和网络层的区别链路层的任务两两节点间节点间可靠的数据传输可靠的数据传输Ethernet, X.25, ATM, 网络层的任务沿两沿两端点间
9、端点间的最佳路由传输数据的最佳路由传输数据(主机间的逻辑通信)(主机间的逻辑通信)Ethernet, X.25, ATM, 22(第4层)传输层(transport layer) 任务:在源端与目的端之间提供可靠的透明数据传输,使上层服务用户不必关系通信子网的实现细节。 传输层的特点 以上各层:面向应用,本层及以下各层:面向传输; 与网络层的部分服务有重叠交叉,功能取舍取决于网络层功能的强弱; 只存在于端主机中; 实现源主机到目的主机“端到端”的连接; 在这一点上与网络层的区别是什么? 网络层:为主机之间提供逻辑传输 传输层:为应用进程之间提供逻辑传输23网络层和传输层的区别网络层的任务沿两端
10、点间的最佳路由传输数据沿两端点间的最佳路由传输数据(主机间的逻辑通信主机间的逻辑通信)Ethernet, X.25, ATM, 传输层的任务两端点间可靠的透明数据传输两端点间可靠的透明数据传输(应用进程间的逻辑通信应用进程间的逻辑通信)通信子网24传输层(运输层)25(第5层)应用层(application layer) 任务:为用户的应用进程提供网络通信服务。 功能: 提供各种不同的应用协议以满足应用进程的需求; 识别并证实目的通信方的可用性; 使协同工作的应用进程之间进行同步; 为通信过程申请资源。26常用的应用层协议有:运行在TCP协议上的协议:HTTP(Hypertext Transf
11、er Protocol,超文本传输协议),主要用于普通浏览。HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。POP3(Post Office Protocol, version 3,邮局协议),收邮件用。SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件 。TELNET(Teletype over
12、 the Network,网络电传),通过一个终端(terminal)登陆到网络。SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。运行在UDP协议上的协议:BOOTP(Boot Protocol,启动协议),应用于无盘设备。NTP(Network Time Protocol,网络时间协议),用于网络同步。其他:DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。SNMP(Simpl
13、e Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。27传输层协议(TCP) T C P和U D P是两种最为著名的运输层协议,二者都使用I P作为网络层协议。 传输控制协议(TCP) 由于IP 提供非连接型传递服务,因此TCP应为应用程序存取网络创造了条件,使用可靠的面向连接的传输层服务。该协议为建立网际上用
14、户进程之间的对话负责。此外,还确保两个以上进程之间的可靠通信。它所提供的功能如下:1监听输入对话建立请求。2请求另一网络站点对话。3可靠的发送和接收数据。4适度的关闭对话。28传输层协议(UDP) U D P为应用程序发送和接收数据报。 一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息)。 但是与T C P不同的是,U D P是不可靠的,它不能保证数据报能安全无误地到达最终目的。29TCP与UDP30网络层协议 Internet 协议(IP)。该协议被设计成互联分组交换通信网,以形成一个网际通信环境。它负责在源主机和目的地主机之间传输来自其较高层软件的称为数
15、据报文的数据块,它在源和目的地之间提供非连接型传递服务。 网际控制报文协议(ICMP)。它实际上不是IP层部分,但直接同IP层一起工作,报告网络上的某些出错情况。允许网际路由器传输差错信息或测试报文。 地址识别协议(ARP)。ARP 实际上不是网络层部分,它处于IP和数据链路层之间,它是在32位IP地址和48位局域网物理地址之间执行翻译的协议。31以太网(RFC 894)帧格式源地址和目的地址是指网卡的硬件地址源地址和目的地址是指网卡的硬件地址32MAC地址又称为物理地址,它是网络站点的全球唯一的标识符,与其物理位置无关。 注意:MAC地址是在数据链路层进行处理,而不是在物理层。网络站点的每一
16、个网络接口都有一个MAC地址。 MAC地址大多固化在网络站点的硬件中。一个站点允许有多个MAC地址,个数取决于该站点网络接口的个数。例如: 安装有多块网卡的计算机; 有多个以太网接口的路由器。网络接口的MAC地址可以认为就是宿主设备的网络地址。33ARP数据报格式在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。因此在通讯前必须获得目的主机的硬件地址。ARP协议就起到这个作用。源主机发出ARP请求,询问“IP地址是的主机的硬件地址是多少
17、”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播),目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中。每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址。34IP的四个主要功能 (1)数据传送 (2)寻址 (3)路由选择 (4)数据报文的分段35IP数据报格式36网络设备在OSI体系中的位置网络设备的功能层次OSI层次地
18、址类型设备传输层及以上应用程序进程地址(端口)网关(协议转换器)网络层网络地址(IP地址)路由器数据链路层物理地址(MAC地址)网桥、交换机物理层无中继器、集线器、网卡37 IP地址类A类 到55B类 到55C类 到55D类 到55E类 到55一个A类网络可容纳的地址数量最大,一个B类网络的地址数量是65536,一个C类网络的地址数量是256。D类地址用作多播地址,E类地址保留未用
19、。随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址,导致B类地址很快就分配完了,而A类却浪费了大量地址。38CIDR(Classless Interdomain Routing) 网络号和主机号的划分需要用一个额外的子网掩码(subnet mask)来表示,而不能由IP地址本身的数值决定,也就是说,网络号和主机号的划分与这个IP地址是A类、B类还是C类无关,因此称为Classless的。 IP地址与子网掩码做与运算可以得到网络号,主机号从全0到全1就是子网的地址范围。IP地址88C FC 14 44子网掩码255.255.2
20、55.0FF FF FF 00网络号8C FC 14 00子网地址范围55 39组建局域网的私有IP地址 10.*,前8位是网络号,共16,777,216个地址 172.16.*到172.31.*,前12位是网络号,共1,048,576个地址 192.168.*,前16位是网络号,共65,536个地址 使用私有IP地址的局域网主机虽然没有Internet的IP地址,但也可以通过代理服务器或NAT(网络地址转换)等技术连到Internet上。40本机环回(loop back) loopback是系统中一种特殊的网络设备,如果
21、发送数据包的目的地址是环回地址,或者与本机其它网络设备的IP地址相同,则数据包不会发送到网络介质上,而是通过环回设备再发回给上层协议和应用程序,主要用于测试。41本地回环(loop back)42不能用作主机IP地址的特殊地址 目的地址为55,表示本网络内部广播,路由器不转发这样的广播数据包。 主机号全为0的地址只表示网络而不能表示某个主机,如(假设子网掩码为)。 目的地址的主机号为全1,表示广播至某个网络的所有主机,例如目的地址55表示广播至网络(假设子网掩码为255.
22、255.255.0)。43中继器与集线器(hub)1. 中继器(Repeater) 工作在物理层 功能:信号整形和放大,在网段之间复制 特点:F不进行存储信号延迟小F不检查错误会扩散错误F不对信息进行任何过滤F可进行介质转换如UTP转换为光纤F用中继器连接的多个网段是一个冲突域 应用注意事项:不能构成环、应遵守以太网的3-4-5规则44中继器与集线器(hub)2. 集线器多端口的中继器,工作在物理层功能:在网段之间复制比特流,信号整形和放大可认为它是将总线折叠到铁盒子中的集中连接设备特点:F具有与中继器同样的特点 F可改变网络物理拓扑形式:总线连接星形连接F 逻辑上仍是一个总线型共享介质网络端
23、口数:8,12,16,2445例:用集线器搭建简单的网络以1台服务器,3台PC机为例: 一台HUB 4块UTP接口的网卡 4台PC机 8个RJ45接头(水晶头) 若干米UTP双绞线 NICHUBUTPPC机服务器46路由器Router工作在OSI第三层(网络层)。功能: 在网络之间转发网络分组; 为网络分组寻找最佳传输路径; 实现子网隔离,限制广播风暴。(目的地址无法识别时,路由器将其丢弃,而不是广播比较网络交换机) 提供逻辑地址,以识别互联网上的主机; 提供广域网服务。应用:把LAN连入广域网或作为广域网的核心连接设备。v路由器与交换机的主要区别:用路由器连接起来的若干个网络,它们仍是各自独
24、立的。要想从一个网络访问用路由器连接起来的另一个网络中的站点,必须指定该站点的逻辑地址(IP地址),通过广播是无法与之进行通信的。47 HUB路由器冲突域2冲突域1路由器可以隔离冲突域和广播域 HUB HUB冲突域3广播域2广播域1用路由器进行网络互联48路由表路由器如何确定最佳路由?路由表(Routing Table)路由表是保存到达其他网络的路由信息的数据库 包含目的网络地址(号)、传输路径、传输开销等根据目的网络地址查找路由表并确定分组转发路径的过程称为路由选择(Routing)。路由表的信息随网络拓扑的变化而变化建立、更新路由表的算法称为路由算法(Routing Algorithm):
25、 网络中的每个路由器都会根据路由算法定时地或在网络拓扑发生变化时更新其路由表; 静态路由:由网络管理员预先手工设置路由信息; 动态路由:由路由器在运行时动态地建立与更新。自动学习、记忆网络的变化并根据路由算法重新计算路由的协议称为路由选择协议(Routing Protocol)。49路由相关名词路由(名词) 数据包从源地址到目的地址所经过的路径,由一系列路由节点组成。路由(动词) 某个路由节点为数据报选择投递方向的选路过程。路由节点 一个具有路由能力的主机或路由器,它维护一张路由表,通过查询路由表来决定向哪个接口发送数据包。接口 路由节点与某个网络相连的网卡接口。路由表 由很多路由条目组成,每
26、个条目都指明去往某个网络的数据包应该经由哪个接口发送,其中最后一条是缺省路由条目。路由条目 路由表中的一行,每个条目主要由目的网络地址、子网掩码、下一跳地址、发送接口四部分组成,如果要发送的数据包的目的网络地址匹配路由表中的某一行,就按规定的接口发送到下一跳地址。缺省路由条目 路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表中其它行都不匹配时,就按缺省路由条目规定的接口发送到下一跳地址。50用户数据报文协议UDP(用户数据报协议User Datagram Protocol)也是TCP/IP 的传输层协议,它是无连接的,不可靠的传输服务。当接收数据时它不向发送方提供确
27、认信息,它不提供输入包的顺序,如果出现丢失包或重份包的情况,也不会向发送方发出差错报文。UDP 的主要作用是分配和管理端口编号,以正确无误的识别运行在网络站点上的个别应用程序。由于它执行功能时具有较低的开销,因而执行速度比TCP快。它多半用于不需要可靠传输的应用程序,例如网络视频点播和视频会议等51UDP 段格式52传输控制协议(TCP)TCP(传输控制协议Transmission Control Protocol)是重要的传输层协议,传输层软件TCP的目的是允许数据同网络上的另外站点进行可靠的交换。它能提供端口编号的译码,以识别主机的应用程序,而且完成数据的可靠传输。TCP 协议具有严格的内
28、装差错检验算法确保数据的完整性。TCP 是面向字节的顺序协议,这意味着包内的每个字节被分配一个顺序编号,并分配给每包一个顺序编号。53TCP 段格式54 TCP连接建立断开55建立连接的过程1.客户端发出段1,SYN位表示连接请求。序号是1000,这个序号在网络通讯中用作临时的地址,每发一个数据字节,这个序号要加1,这样在接收端可以根据序号排出数据包的正确顺序,也可以发现丢包的情况,另外,规定SYN位和FIN位也要占一个序号,这次虽然没发数据,但是由于发了SYN位,因此下次再发送应该用序号1001。mss表示最大段尺寸,如果一个段太大,封装成帧后超过了链路层的最大帧长度,就必须在IP层分片,为了避免这种情况,客户端声明自己的最大段尺寸,建议服务器端发来的段不要超过这个长度。2.服务器发出段2,也带有SYN位,同时置ACK位表示确认,确认序号是1001,表示“我接收到序号1000及其以前所有的段,请你下次发送序号为1001的段”,也就是应答了客户端的连接请求,同时也给客户端发出一个连接请求,同时声明最大尺寸为1024。3.客户端发出段3,对服务器的连接请求进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 杜绝安全评价纸面“双保险”压实危化企业本质安全底线
- 9月份工作总结暨10月份重点工作部署文稿
- 政协协商与基层协商相衔接与社会治理相融合理论文章、调研报告
- 急重症快速识别与处理总结2026
- 脂肪烃的物理性质物理性质状态相对密度熔点沸
- 肿瘤生物治疗张主任
- 符号互动理论课件
- 人教版初中英语第7单元口语表达专项训练习题及答案
- 部编版初中语文第9章文言文翻译专项训练习题及答案
- 江苏省苏教版高中语文高二上册第6单元文言文阅读测试卷及答案
- 国际减灾日培训课件
- 工程标的供货方案(3篇)
- 员工环保培训课件内容
- DB42∕T 2266-2024 建筑消防设施年度检测技术规程
- DB45∕T 2954-2024 农田建设项目概预算定额及其编制规程
- 施工孔洞安全管理制度
- JG/T 24-2000合成树脂乳液砂壁状建筑涂料
- (高清版)DZT 0187-2016 地面磁性源瞬变电磁法技术规程
- 博士个人计划书
- 学前儿童社会适应与教育活动课件
- 医院检验科培训课件:《ISO15189常见不符合项案例分析》
评论
0/150
提交评论