TCP/IP协议

TCP/IP体系结构如图所示:09398ece24834d4eb973828d2a894f87.png

网际协议IP(Internet Protocol)不但为各个互联的网络提供统一的数据包格式,而且还提供寻址路由选择数据的分段和重组功能,它能将数据包从一个网络转发到另一个网络。

  IP协议以包的单位传输数据,IP数据包在Internet中称为IP数据报。IP协议提供的是不可靠的面向无连接的数据报服务,它不管传送的数据报正确与否,都不进行检查、不回送确认,也没有流量控制和差错控制功能。IP这种特性不是一种缺点,它提供了传输功能的主框架,用户可以根据需要在传输层对给定的应用添加必要的功能。

1.1 IP数据报

 IP数据报是一个可变长度的包(最小为20字节,最大65536字节)。它由头部和数据两部分组成,数据报格式头部的构成 如图。ed0773b292c14a9bb40e0b6cc20da7fd.png

 1.2 TCP/IP协议的地址

     1.物理地址

物理地址指网卡(NTC)地址,它也称为MAC地址或硬件地址。物理地址是由生产厂家通过编码烧制在网卡的硬件电路上,不管它位于什么地方,物理地址总是恒定不变的。网卡地址由48位二进制数字组成(用12位十六进制数表示),高24位是由IEEE分配的厂商地址,低24位生产厂商自己管理的地址(序列号),每一个网卡的物理地址在全球都是唯一的。

     2.IP地址

·IP地址由32位二进制比特组成,没8位为一段,共分为4段,段间用“.”分隔。为了易于阅读。IP地址每一段表示为其对应的十进制数字,称为“点分十进制”表示形式。例如:211.70.248.3。

·IP地址由类型、网络号和主机号三个部分组成。路由寻址时,首先根据地址和网络号到达网络,然后利用主机号到达主机。

IP地址分为A类、B类、C类、D类和E类共五大类,如图所示。不同的类适用于不同规模的网络。

98a01cb177d848b6b2713b586c4b24c3.png

A类私有地址:10.0.0.1~10.255.255.254

B类私有地址:172.16.0.1~172.31.255.254

C类私有地址:192.168.0.1~192.168.255.254

私有地址通常说不能为外界访问的,若要访问,则需要NAT

4.路由器(网关)的IP地址

路由器或网关常常被分配两个或更多的IP地址,用于连接两个或多个网络。

5.IP地址的分配和使用

Internet中IP地址是由指定机构分配的,这些地址外部用户可以访问它们,将它称为IP公有地址。局域网内部的计算机如果步作为Internet的主机供其他用户访问,那么IP地址可以任意分配。IPv4的地址只有32位,资源已十分紧张,在新一代的INternet中,将会使用128位的IPv6地址

DHCP:动态主机配置协议

1.3 子网掩码和默认网关

1.子网掩码

·子网掩码的作用

子网掩码能分出IP地址中哪些位数网络ID,哪些位是主机ID。通过它和IP地址进行按位"逻辑与(AND)"运算,可以屏蔽掉IP地址中的主机不分,得到IP地址的网络ID。如果两台计算机网络ID相同,则表示两台计算机属于同一网络。

子网掩码的另一个作用是将一个网络ID再划分位若干个子网,以解决网络地址不够的问题。

·默认子网掩码

1.4 IP地址的配置管理

1.静态IP地址

静态IP地址由网络管理员手工对主机TCP/IP协议的相关选项进行配置。分为IP公有地址和IP私有地址两类

2.引导程序协议B800TP

3.动态IP地址

动态IP地址由DHCP服务器动态分配。请求DHCP服务的主机,每次进入网时所得到的IP地址可能不同,这是DHCP服务器将地址池中的某个地址临时分配给主机,主机使用结束后又由DHCP服务器收回,供其他主机使用。

4.自动专用IP地址

地址空间为“169.254.0.1”~“169.254.255.254”。小型局域网中如果没有DHCP服务器,可以将所有计算机都设为“自动获得IP地址”,这样每个Windows 2000的计算机都使用自动专用IP地址

 2.1 子网划分的作用

·可以连接不同的设备

 ·重新组合网络的通信量

·减轻网络地址数不够的负担

·更有效地使用网络地址

2.2 子网划分的方法

 子网划分可以从IP地址的主机号前面部分“借”位,并把它们指定为子网号。

 1. 确定子网的数目

根据子网数目确定取子网号位数。如取3位,可以有2³=8种组合。注意:

·子网号必须是2位以上,主机号部分不能少于两位。

·子网号不能为全0(但有些路由器支持“0”子网实现

·子网号不能为全“1”

子网数的计算公式如下:2ⁿ - 2 (n≥2,n是子网号位数)

2.确定每个子网支持的最大主机数

每个子网支持的最大主机数用主机号的剩余部分计算而得。公式为:2ⁿ — 2。其中,n是剩余的主机号位数,减去2的原因是主机号全“0”和全“1”都不能作为主机号。主机号全“0”代表网络号加子网号,主机号全“1”代表这个子网的广播地址。

3.划分子网后的子网掩码

划分子网后的子网掩码会有改变,它是将对应位子网号的部分全变为“1”后作为新的子网掩码。例如,对于B类地址,如果取主机号的前三位作为子网号,则相应的子网掩码变化如下:

划分前:11111111.11111111.00000000.00000000,十进制为255.255.0.0

划分后:11111111.11111111.11100000.00000000,十进制为255.255.224.0

4.为每个子网确定地址段

确定好子网号的位数后,需要计算出每个子网的起始地址、结束地址、子网的网络ID及子网的广播地址。 

3.1 TCP提供的服务

·面向连接

·点对点通信

·传输可靠性

·全双工通信

·流接口

·可靠的连接建立

·完美的连接终止

3.2 TCP的分段和重组

TCP在进行通信时,发送端的TCP将长的传输划分为跟小的数据单元,同时将每个数据单元组装成帧,它也称为段。每个段都包括一个用来接受后重排的序列号、确认ID号及用于滑动窗口ARQ的窗口大小等字段。分段后的每个段都封装在IP数据报中,在接受端,TCP收集每个到来的数据报,然后根据序列号进行重组

TCP的段格式

 紧急指针:

URG 紧急             URG=1 紧急指针有效

ACK:确认

PSH:入栈(快速处理)

RST:重置

SYN:同步:连接握手

FIN:终止:连接终端

3.3 端口号和套接口

1.端口号

对于TCP或UDP的应用程序,都有标识该应用程序的端口号,即端口号用于区分各种应用。端口号的长度是16为,可提供2¹⁶=65536个不同的端口号。

端口号1至255作为公共端口,是保留号,并将它公布于众,这样常用的进程对应哪个端口就统一了。例如,HTTP端口号为80,FTP端口号为21,Telnet端口号为23,SMTP端口号为25,域名服务器的端口号为53等。256至1024用于UNIX服务

端口号的另一种分配方法叫本地分配,使用1024以上的端口号本地分配方式不受网络规模的限制,但通信双方互相之间需要预先知道,如将HTTP的端口号分配为8080

2.套接口

计算机的IP地址加上TCP软件使用的端口号构成了套接口。端口号是抽象的,它不指定某一特定的端口,而套接口却是具体的,是指向某一确定的应用程序的地址,通信时可根据套接口使一个进程和另一个进程进行对话。

▲有关网络地址的概念

计算机网络中有各种地址,它们对应于OSI/RM和TCP/IP的关系如下:

●数据链路层:MAC地址(物理地址、网卡地址、NIC地址)

对于以太网,就是网卡地址,它由48为二进制组成。

●网络层:网络层地址

Internet中就是IP地址,它由32为二进制值组成。IPv6地址由128位二进制组成。

●高层(应用层):端口号

例如,HTTP的端口号位80.

3.4TCP工作流程 

1.建立连接

建立连接过程使用三次握手方式,如图

2.数据传输

数据传输时,A进程的从上层协议接收数据,以递增序号的方式将数据分段封装并发送到B进程。B进程通过序列号加1的确认数据报来确认该报文

3.连续释放

TCP连续释放过程和建立连接过程类似,同样使用三次握手进行释放。一方发出释放请求后并不立即断开连接,而是等待对方确认,对方收到请求后,发回确认报文,并释放连接,发起方收到确认后才拆除连接。

 4 用户数据报协议(UDO)

UDP协议没有连接建立、释放连接过程和确认机制,因此数据传输率较高,具有更高的优越性。它被广发用于IP电话、网络会议、可视电话、现场直播、视频点播VOD等传输语言或影响等多媒体信息的场合。

4.1UDP数据报格式

4.2 UDP数据报的传输

在源端,UDP先构造一个用户数据报,然后将它交给IP,UDP便完成了工作。它没有建立连接等三次握手过程。在目标端,UDP先判断所收到的数据报的目标端口号是否与当前使用的某个端口匹配,如果是,则将数据报放入相应接收队列,否则抛弃该数据报,并向源端发送“端口不可到达”的报文。但有时虽然端口号匹配,但如果相应端口的缓冲区已满,UDP也是抛弃该数据报的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值