目录
为了减少协议设计的复杂性,大多数网络模型均采用分层的方式来组织
每一层利用下一层提供的服务来为上一层提供服务
本层服务的实现细节对上层屏蔽
1 分层结构
- 为了实现不同类型的计算机和不同类型的操作系统之间进行通讯,引入了分层的概念
- 最早的分层体系结构是OSI开发系统互联模型,由国际化标准组织(ISO)指定
- 但是由于过于复杂,所以OSI一直没有使用,现在使用的是TCP/IP协议族
每层完成自己的任务,最终通过不同层次的处理完成数据的收发
2 TCP/传输控制协议
面向连接;三次握手(比UDP协议靠谱);字节流传输;Http协议、SMTP协议的基础;传输层协议
功能:
提供不同主机上的进程通讯
特点:
1、建立链接->使用链接->释放链接(虚电路)
2、TCP数据包中包含序号和确定序号
3、对包进行排序并检错,而损坏的包可以被重传
服务对象:
需要高度可靠性且面向连接的服务
如HTTP、FTP、SMTP
3 UDP /用户数据报协议
面向无连接;不建立连接(效率比TCP高);限制传输64k;不可靠协议(比TCP协议简单);传输层协议
功能:
提供不同主机上的进程通讯
特点
1、发送数据之前不需要建立链接
2、不对数据包的顺序进行检查
3、没有错误检测和重传机制
服务对象:
主要用于“查询-应答”的服务
如:NFS、NTP、DNS
4 其他
- socket的两个核心:TCP和UDP
- TCP和UDP不能互通
- 先写服务器端后写客户端
5 网卡
网卡(网络适配器,网络接口卡)
通过网卡能够使不同的计算机之间 连接,从而完成数据通讯等功能
6 MAC地址
每一个网卡在出厂时都会分配一个编号,成为MAC地址
用于标识网络设备,类似身份证号,理论上唯一(可以修改)
组成:以太网内的MAC地址是一个48bit的值,通常人为识别时时通过16进制数来识别的
冒号是人为识别添加的,机器识别时不需要冒号
如何查询Ubuntu的Mac地址
ifconfig
如何查询Windows的Mac地址
7 ip地址
ip地址是一种Internet上的主机编址方式,也是称为网际协议地址
ip地址是任意一台主机在网络中的唯一标识
7.1 ip地址的分类
ipv4:占32位
ipv6:占128位
7.2 ipv4 地址的组成:
ipv4一般使用点分十进制字符串来识别,比如192.168.0.124
使用32bit,由{网络ID,主机ID}两部分组成
子网ID:IP地址中由子网掩码中1覆盖的连续位
主机ID:IP地址中由子网掩码中0覆盖的连续位
上图显示的是C类地址的IP地址
7.3 ipv4地址的特点
子网ID不同的网络不能直接通讯,如果要通讯则需要路由器转发 例如:192.168.3.11和192.168.3.12可以直接通讯
主机ID全为0的IP地址表示网段地址 -> 192.168.3.0
主机ID全为1的IP地址表示该网段的广播地址 -> 192.168.3.255
7.4 ipv4地址的分类(依据前8位区分)
- A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。
- 该类IP地址的最前面为“0”,所以地址的网络号取值于1~126之间。
- 一般用于大型网络。
- B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。
- 该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。
- 一般用于中等规模网络。
- C类:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。
- 该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。
- 一般用于小型网络。
- D类:该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。
- 一般用于多路广播用户[1] 。
- 是多播地址(组播地址)。
- E类:该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。
- 是保留今后使用的地址。
7.5 公有ip和私有ip
在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0~172.31.255.255
C类地址:192.168.0.0~192.168.255.255
7.6 回环ip地址
7.8 ip地址查询方法
Ubuntu:
ifconfig
Windows:
ipconfig
7.9 如何判断主机是否可以进行通讯
ping ip地址
8 子网掩码
子网掩码(subnet mask)又叫网络掩码、地址掩码是一个32bit由1和0组成的数值,并且1和0分别连续
作用:
指明ip地址中哪些位标识的是主机所在的子网以及哪些位标识的是主机号
特点:
必须结合ip地址一起使用,不能单独使用
ip地址中由子网掩码中1覆盖的连续位是子网ID,其余是主机ID
9 端口
TCP/IP协议采用端口识别通信的进程
用于区分一个系统中的多个进程
特点:
1.对于同一个端口,不同的系统对应不同的进程
2.对于同一系统,一个端口只能被一个进程拥有
3.一个进程拥有一个端口后,传输层送到该端口的数据全部被该进程接收,同样,进程送交传输层的数据也是通过该端口送出
在网络程序中,用端口号(port)来标识一个运行的网络程序