TCP/IP浅说

明白互联网通信原理

什么是TCP/IP?

百度百科:
TCP/IP(Transmission Control Protocol/Internet
Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP
和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,
只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

如果要知道什么是TCP/IP,如果不联系整个互联网通信原理来说,很难较深入的了解。

首先来弄明白什么是OSI?

百度百科: 七层模型,亦称OSI(Open System
Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。

注:要知道它只是一个参考模型,而不是实际实现的,仅仅是参考。而TCP/IP协议是具体实现,已经是有这个东西了。
应用层
网络服务与最终用户的一个接口。
协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
表示层
数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
格式有,JPEG、ASCll、EBCDIC、加密格式等 [2]
会话层
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话
传输层
定义传输数据的协议端口号,以及流控和差错校验。
协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层
网络层
进行逻辑地址寻址,实现不同网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6)
数据链路层
建立逻辑连接、进行硬件地址寻址、差错校验 [3] 等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
物理层
建立、维护、断开物理连接。(由底层网络定义协议)

按照常用的五层模型来说

在这里插入图片描述

注:其中传输控制层、网络层、链路层属于内核区域,一个服务器程序有许多,但是内核只有一个。服务器分为用户态和内核态,用户态不能直接访问内核态,需要切换状态很费时间。sychronized自旋锁升级到重量级锁时就要访问内核,需要切换状态。

为什么要划分层次?
解耦,自干各自的事。

应用层

什么是协议?

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。

网络协议,也可简称协议,通常由三要素组成:
(1)语法:即数据与控制信息的结构或格式;
(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3)时序(同步),即事件实现顺序的详细说明。

说人话就是:协议双方约定好的规则。比如:电视剧里常出现的对口令“天王盖地虎”,“宝塔镇河妖”。这里发出口令的是五个字,回复的也是五个字,都是约定好的。不能说发出的天王盖地虎,回复的是英文版的宝塔镇河妖,那么别人也会听不懂。同时必须先说天王盖地虎,不能先说宝塔镇河妖,这样就不满足协议。

http协议实际操作。
linux下取回百度的主页:
1、建立与百度的连接

exec 9<> /dev/tcp/www.baidu.com/80

分析:
9:文件描述符 类比: java 变量引用(Object o = new Object()这里的o就是变量引用)
<> : 输入输出流的描述
/dev/tcp/www.baidu.com/80 :linux一切皆文件,tcp(tcp协议),www.baidu.com/80(访问的地址及80端口)

说人话:数字9持有了对百度连接的输入输出流

这句话建立连接,是传输控制层,网络层,链路层,物理层做的事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值