TCP/IP 基础知识
TCP IP
- TCP: Transmission Control Protocol
- IP: Internet Protocol
OSI网络七层协议
- 物理层
- 数据链路层 :以太网(双绞线电缆)、无线LAN(无线)、PPP…
- 网络层 : ARP,IPv4,IPv6,ICMP,IPsec
- 传输层 : TCP,UDP,UDP-Lite,SCTP,DCCP
- 会话层
- 表示层
- 应用层 : SSH,HTTP,SMTP,MIME,HTML…
TCP/IP五层协议与 OSI参考模型
- (硬件) : 物理层
- (网卡层) : 数据链路层
- (互联网层) : 网络层
- (传输层) : 传输层
- (应用层) : 会话层、表示层、应用层
网卡层+硬件:设备驱动程序与网络接口
传输层+互联网层:操作系统
应用层:应用程序
TCP/IP协议群
- 应用协议: HTTP,SMTP,FTP,TELNET,SNMP
- 路由控制协议: RIP,OSPF,BGP
- 网际协议: IP, ICMP,ARP
- 传输协议: TCP, UDP
互联网与TCP/IP的关系
互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发制定的协议族。因此,互联网的协议就是TCP/IP,TCP/IP就是互联网的协议。
- BackBone:骨干网
- Stub:末端网
- ISP:Internet Service Provider
- IX:Internet Exchange
- NOC:Network Operation Center
- 局域网:特定区域内有团体或志愿者所运营的网络
数据包
每个分层中,都会对所发送的数据附加一个首部 (TCP包首部->IP包首部->以太网包首部) ,在这个首部中包含了该层必要的信息(目标地址,协议相关的信息)。通常,为协议提供的信息为包首部,所要发送的内容为数据,从下一层的角度看,从 上一分层收到的包全部都被认为是本层的数据。
表示数据的单位:(包、帧、数据报、段、消息)分别对应(所有、数据链路、IP网络层、传输层TCP数据流、应用层应用协议)中的数据单位。
地址(接受地址,发送地址)
MAC地址、IP会用IP地址、而TCP\UDP会用端口号作为识别两端主机的地址。
网络层(互联网)
IP
- IP是跨越网络传送数据包,使整个互谅网都能收到数据的协议。IP协议使数据能够发送到地球的另一端,这期间它使用IP地址作为主机的标识
- IP还隐含着数据链路层的功能。通过IP,相互通信的主机之间不论经过怎样的底层数据链路都能够事项通信。
- 虽然IP也是分组交换的协议,但是它不具有重发机制。即使分组数据包未能到达对端主机也不会重发。因此,属于非可靠传输协议。
ICMP
- IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要发送端发送一个发生异常的通知。ICMP就是为这一功能而制定的。它优势被用来诊断网络的健康状况。
ARP
- 从分组数据包的IP地址中解析出物理地址(MAC地址)的一种协议
传输层(传输层的逻辑信道)
- 传输层最主要的功能就是能够让 应用程序 之间实现通信。
- 计算机内部,通常同一时间运行着多个程序。为此,必须分清是哪些程序与哪些程序在进行通信,识别这些应用程序的是 端口号 。
TCP
- TCP是一种面向 有连接的传输层协议 。它可以保证两端通信主机之间的通信可达。TCP能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。此外,TCP还能够有效利用带宽,缓解网络拥堵。
- 为了建立与断开连接,有时它需要 至少7次的发包和收包 ,导致 网络流量的浪费 。此外,为了提高网络的利用率,TCP协议中定义了各种各样复杂的规范,因此 不利于视频会议 (音频、视频的数据量既定)等场合使用。
UDP(User Datagram Protocol, 用户数据报协议)
- 它是一种面向 无连接的传输层协议 。UDP不会关注对端是否真的收到了传送过去的数据,如果需要检查对端是否收到分组数据包,或者对端是否连接到网络,则需要在应用程序中实现。
- UDP常用语分组数据较少或多播、广播通信以及 视频通信等多媒体领域 。
应用层(请求响应)
WWW
- HTTP :(HyperText Transfer Protocol)浏览器与服务器之间通信所用的协议
- HTML :(HyperText Markup Language)传输数据的主要格式
- SMTP :(Simple Mail Tranfer Protocol)发送电子邮件的协议
- MIME :(Multipurpose Internet Mail Extensions)多用途互联网邮件拓展类型,电子邮件的格式由MIME协议扩展以后,就可以发送声音、图像等各式各样的信息。
文件传输
文件传输: 文件传输是指将保存在其他计算机硬盘上的文件转移到本地的硬盘上,或将本地硬盘的文件传送到其他机器硬盘上的意思
- FTP :(File Transfer Protocol)传输过程可以选择用 二进制方式 还是 文本方式 ,文件传输时会建立 两个TCP连接 ,分别是传输请求时所要用到的 控制连接 和实际传输数据时所要用到的 数据连接 。
远程登录
TCP/IP网络中远程登录常用TELNET和SSH两种协议。
网络管理
- SNMP : (Simple Network Management Protocol)协议,在TCP/IP中进行网络管理时,采用SNMP协议。使用SNMP管理的主机、网桥、路由器等称作SNMP代理(Agent),而进行管理的那一段叫做管理器(Manager)。
- SNMP作用 : 可以让管理员及时检查网络拥堵的情况,及早发现故障,也可以为以后扩大网络手机必要信息。
总结
- 物理层:负责物理线路方面的数据传输
- 数据链路层:根据MAC地址负责判断将数据发送给哪一个直连设备(一跳Hop)
- 网络层:根据IP地址负责判断将数据从源地址发送到目标地址,中间过程可能经历多个设备和网络(点对点)
- 传输层:根据端口号判断,数据由计算机的哪个程序来接受和处理
- 应用层:应用层中的应用负责接受,处理,生成数据