TCP/IP协议栈

什么是TCP/IP协议

TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。
TCP/IP协议是Internet最基本的协议,其中应用层的主要协议有Telnet、FTP、SMTP等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;传输层的主要协议有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等;而网络访问层,也叫网路接口层或数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等。
分层思想

TCP/IP模型是一个抽象的分层模型,这个模型中,所有的TCP/IP系列网络协议都被归类到4个抽象的"层"中。每一抽象层创建在低一层提供的服务上,并且为高一层提供服务。 完成一些特定的任务需要众多的协议协同工作,这些协议分布在参考模型的不同层中的,因此有时称它们为一个协议栈。
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,其分层模型如下:

链路层
以太网协议规定,接入网络的设备都必须安装网络适配器,即网卡,数据包必须是从一块网卡传送到另一块网卡。而网卡地址就是数据包的发送地址和接收地址,有了MAC地址以后,以太网采用广播形式,把数据包发给该子网内所有主机,子网内每台主机在接收到这个包以后,都会读取首部里的目标MAC地址,然后和自己的MAC地址进行对比,如果相同就做下一步处理,如果不同,就丢弃这个包。
所以链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方。

网络层

有时也称作互联网层,处理数据报在网络中的活动,例如数据报路由。其中网络层协议包括IP协议(网际协议), ICMP协议(互联网控制报文协议),以及IGMP协议(英特网组管理协议)。

运输层

运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个传输层协议: TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,同时还要确认接收到的数据是正确的,并且将其组装成有序的数据递交到应用层,同时还要处理超时重传、流量控制等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以更加方便来处理数据。
而另一方面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端,因此数据的可靠性必须由应用层来提供,这就导致应用层处理程序的困难,但是对于数据要求不可靠的传输通常使用UDP协议,如视频的播放等。

应用层

理论上讲,有了以上三层协议的支持,数据已经可以从一个主机上的应用程序传输到另一台主机的应用程序了,但此时传过来的数据是字节流,不能很好的被程序识别,操作性差,因此,应用层定义了各种各样的协议来规范数据格式,常见的有http,ftp,smtp等,在请求Header中,分别定义了请求数据格式Accept和响应数据格式Content-Type,有了这个规范以后,当对方接收到请求以后就知道该用什么格式来解析,然后对请求进行处理,最后按照请求方要求的格式将数据返回,请求端接收到响应后,就按照规定的格式进行解读。

各种协议:

HTTP(Hypertext Transfer 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,简单邮件传输协议),用来发送电子邮件。
SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。

OOTP(Boot Protocol,启动协议),应用于无盘设备。
NTP(Network Time Protocol,网络时间协议),用于网络同步。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。

DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。
SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。
ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。

IP地址

为了标识互联网中的每台主机的身份,设计人员为每个接入网络中的主机都分配一个IP地址(Internet Protocol Address),是一个32位的整数地址,只有合法的IP地址才能接入互联网中并且与其他主机进行通信。注意了:IP地址是软件地址,是协议栈中识别主机身份的唯一标识。如果IP地址是不合法的,那么无法连接上公网(或者称为广域网)。

IP分类编址

互联网上的每个接口必须有一个唯一的IP地址, IP地址长 32bit,IP地址并不采用平面形式的地址空间,如 1、2、3等。 IP地址具有一定的结构,有五类不同的互联网地址格式:

IP地址
IP地址
A 类网络地址的第一个字节的第一位必须为0 ,因此, A 类网络地址第一个字节的取值范围为0~127(注意:但0 和127 不是有效的A 类网络地址号)
B 类网络地址的第一个字节的第一位必须为1 ,且第二位必须为0,因此, B 类网络地址第一个字节的取值范围为128~191
C 类网络地址的第一个字节的第一位必须为1,第二位必须为1,第三位必须为0,因此C类网络第一个字节的取值范围为192~223
D 类IP地址的第一个字节前四位为1110,那么它第一个字节的取值范围为224~239,约占据了所有IP地址的十六分之一,它是一个专门保留的地址,它并不指向特定的网络,目前这一类地址被用于多播。
E 类IP地址的第一个字节前四位必须为1111,那么它第一个字节的取值范围为240~255,约占据了所有IP地址的十六分之一,是为将来使用而保留的,其中32bit全为1的IP地址(255.255.255.255)用作广播地址。

IP地址特点

类别 第一字节(二进制) 第一字节取值范围 网络号个数 主机号个数 适用范围
A类 0XXX XXXX 0~127 125 16777214 大型网络
B类 10XX XXXX 128~191 16368 65534 中型网络
C类 110X XXXX 192~223 2097152 254 小型网络
D类 1110 XXXX 224~239 — — 多播
E类 1111 XXXX 240~255 — — 保留
局域网的概念

局域网(Local Area Network,缩写为LAN),又称内网,指覆盖局部区域(如办公室或楼层)的计算机网络,局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能,是在一定区域内由多个计算机连接组成的网络,比如腾讯、阿里的内网,在内部的计算机上的数据可以互联互通、数据共享等。简单来说,当我们使用的开发板接入路由器的时候,电脑的网络也接入路由器,那么开发板与电脑就组成局域网,数据在链路层上是互联互通的。当然,板子也能通过网线直连电脑,这样子也是组成一个局域网络,数据可以在两个主机之间进行通信。

广域网

广域网(Wide Area Network,缩写为WAN),又称广域网、外网(与翻墙的外网是不一样的概念)、公网。是连接不同地区计算机以进行通信的网络,这种网络通常会跨越很大的范围,覆盖的范围从几十公里到几千公里,它能连接多个地区、城市并能提供远距离通信服务,但是注意的是我们说的广域网并不等同于互联网。
简单来说(我使用比喻的方式表达),如果局域网是小溪,不同区域有很多的小溪,这些小溪汇聚成江河,那么这些江河就是广域网,然后这些江河再流入大海,这个大海就是互联网。互联网就是由无数个局域网,通过广域网线路汇聚互联起来,就形成了互联网。互联网的特点是开放、互联,如果一个公司的局域网没有连接到互联网,那这个局域网就不属于互联网,仅仅属于内部通信的网络。
举个例子,如果你家在某网络运营商办理了网络服务,可能他们将送你一个光猫,然后你拿着这个光猫就能上网了,你可能觉得需要多人使用网络,所以你又去买了一个无线路由器,让家人也能连接到网络上,那么这个家就是一个局域网,然后局域网的通信是通过运营商连接到广域网上的。

局域网与广域网
局域网与广域网
这个示意图虽然简单,却把LAN、WAN、Internet三者全包含了。无线路由器把电脑、手机等设备连接到局域网LAN上,并分配IP地址,即局域网IP,我们可以称之为LAN-IP,LAN-IP所到之处,就是局域网的范围,像我们电脑的IP地址(192.168.1.xxx)就是一个局域网IP,而路由器的地址就是运营商给我们的一个IP地址,这个IP地址是绝对合法的,可以看做是WAN-IP(实际上这个IP地址也是运营商的局域网IP地址(相对运营商来说),这个地址在运营商中转换成一个真正的广域网IP地址,因为真正的IP地址是不够的,只能再细分下去,但是这些事情我们暂时无需理会,只要把路由器的IP地址看做是WAN-IP即可)。
而运营商是一个边界,国家与国家之间有边界,网络之间也有边界,运营商就是局域网LAN与广域网WAN的边界。局域网LAN-IP可以在局域网内部有效,但是无法跨越边界进入广域网中,LAN-IP是路由器分配给我们的IP,那么我们想要跨越边界进入广域网中,就需要将LAN-IP变成有效的的IP地址,也就是WAN-IP,那么在路由器中就需要将IP地址进行转换,完成LAN-IP<—>WAN-IP地址转换(NAT)。
当持有WAN-IP的IP包顺利到达下一个边界Internet Gateway,这是通往互联网Internet的最后一道关卡,即边界。左边是广域网,右边是互联网,也需要做WAN-IP 与 Global-IP(互联网公共IP)的转换才能进入互联网中,我们知道这种概念即可,无需过多深入。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值