网络协议基础
网络通信协议
通过计算机网络可以使用多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为网络通信协议。
TCP/IP协议
传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol),是Internet最基本,最广泛的协议。
它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它的内部包含一系列的用于处理数据通信的协议,并采用了4层的分型模型。
OSI 7层模型
1.含义
OSI(Open System Interconnection)开发系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。
2.分层作用:方便管理
3.优点
1) 把复杂的网络划分为更容易管理的层。 2) 没有一个厂家能完整的提供整套解决方案和所有的设备,协议。 3) 独立完成各自的任务,互不影响,分工明确,上层不关心下层具体细节。分层同样有益于网络排错。
4.功能与代表设备
|
分层 |
名字 |
功能 |
工作在该层的设备 |
|
7 |
应用层 |
提供用户界面 |
|
|
6 |
表示层 |
表示数据,进行加密等处理 |
QQ,IE,应用程序 |
|
5 |
会话层 |
将不同应用程序的数据分离 |
|
|
4 |
传输层 |
提供可靠或不可靠的传输,在重传前执行纠错。TCP或UDP |
防火墙 |
|
3 |
网络层 |
提供IP地址,路由器使用它们来选择路径 |
三层交换机,路由器 |
|
2 |
数据链路层 |
将分组拆分为字节,并将字节组合成帧,使用MAC地址提供介质访问,执行错误检测 |
二层交换机,网卡 |
|
1 |
物理层 |
在设备之间传输比特,指定电平,电缆速度和电缆针脚 |
集线器 |
5.为什么现代网络通信过程中用TCP/IP四层模型,而不是OSI七层模型?
OSI七层模型是理论模型,一般用于理论研究,它的分层有些冗余,大多数人都认为OSI模型的分层数量与内容可能是最佳的选择,其实并非如此,
表示层,会话层几乎是空的,而数据链路层和网络层包含内容太多,有很多的子层插入,而每个自层都有不同的功能。
TCP/IP四层模型:TCP/IP参考模型是计算机网络的祖父ARPANET和因特网使用的参考模型。
|
应用层 |
主要负责应用程序的协议,如HTTP,TELNET,FTP,SMTP等 |
|
传输层(TCP或UDP) |
主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议 |
|
网络层IP |
网络层是整个网络TCP/IP协议的核心,主要用于将传输的数据进行分组,将分组数据发送到目标计算机 |
|
链路层 |
链路层用于定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤,网线提供的驱动 |
常见的网络相关协议
ARP(Address Resolution Protocol):地址解析协议,将IP解析成MAC地址 DNS:域名解析协议 www.baidu.com SNMP(Simple Network Management Protocol):简单网络管理协议 DHCP(Dynamic Host Configuration Protocol):动态主机配置协议,它是在TCP/IP网络上使客户端获得配置信息的协议 FTP(File Transfer Protocol):文本传输协议,是在计算机和网络之间交换文件的最简单的方法 HTTP(Hypertext Transfer Protocol):超文本传输协议 HTTPS(Secure Hypertext Transfer Protocol):安全超文本传输协议,用于对数据进行压缩和解压操作 ICMP(Internet Control Message Protocol):Internet控制信息协议,互联网控制报文协议 SMTP(Simple Mail Transfer Protocol):简单邮件传送协议 TELNET Protocol:虚拟终端协议 TFTP(Trivial File Transfer Protocol):小文件传输协议 UDP(User Datagram Protocol):用户数据报协议,它是定义用来在互联网络环境中提供包交换的计算机通信的协议 TCP(Transmission Control Protocol):传输控制协议,是一种面向连接的,可靠的,基于字节流传输层通信协议,tcp(三次握手四次挥手)
TCP协议和UDP协议的区别?
TCP传输控制协议是面向连接的协议,在收发数据前必须和对方建立可靠的连接 UDP用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。 区别: 1) 基于连接与无连接 2) 对系统资源的要求,TCP较多,UDP较少 3) UDP程序结构较简单,UDP信息包的标题很短只有8个字节,相对于TCP的20个字节信息包的额外开销很小,所以UDP传输速度更快 4) TCP保证数据正确性,UDP可能丢包;TCP保证数据顺序,UDP不保证。 5) UDP数据被限制在64kb以内
TCP和UDP常用端口号名称:
TCP端口分配
|
21 |
ftp 文本传输服务 |
|
22 |
ssh 安全远程连接服务 |
|
23 |
telnet 远程连接服务 |
|
25 |
smtp 电子邮件服务 |
|
53 |
DNS 域名解析服务 |
|
80 |
http web服务 |
|
443 |
https 安全web服务 |
网络编程三要素
- 协议:计算机网络通信必须遵守的规则
- IP地址:指互联网协议地址(Internet Protocol Address),俗称IP,IP地址用来给一个网络中的计算机设备做唯一的编号
IP地址分类:IPv4,IPv6 IPv4:是一个32位的二进制数,通常被分为4个字节,表示成a.b.c.d的形式,例如192.168.65.100,其中abcd都是0~255之间的十进制证书,最多可以表示42亿个。 IPv6:因为IP分配越发紧张,为了扩大地址空间,拟通过IPv6重新定义地址空间,采用128位地址长度,每16个字节一组,分为8组16进制数,表示成
ABCD.EF01.2345.6789. ABCD.EF01.2345.6789。 常用命令:1)ipconfig查看本机ip地址。2)ping ip地址,检查网络是否连通
IP地址分类 A类地址:范围0-127,以子网掩码:255.0.0.0 B类地址:范围128-191,以子网掩码255.255.0.0 C类地址:范围192-223,以子网掩码255.255.255.0 D类地址:范围224-239,被用在多点广播 E类地址:范围240-254,为将来使用保留 私有IP A:10.0.0.0 B:172.16.0.0~172.31.0.0 C:192.168.0.0~192.168.255.0
3.端口号:是一个逻辑端口,我们无法直接看到,可以使用一些软件查看端口号。当我们使用网络软件一打开,操作系统就会为网络软件分配一个随机的端口号,或者网络软件在打开的时候和系统要指定的端口号。端口号是由两个字节组成,取值范围在0~65535之间,1024之前的端口号不能使用,已经被系统分配给已知的网络软件了。
TCP通信图解


浙公网安备 33010602011771号