1. 什么是网络?
所谓网络,就是通过一定的形式连接起来的物体,物体与物体之间可以实现通信
网络的重要性
所有的系统都有网络
我们的生活已经离不开网络
运维生涯50%的生产故障都是网络故障
如何通过网络实现多台主机之间的通讯
1.在两台主机之间需要有传输介质(网线、光纤、无线等)

2.在两台主机上面需要有网卡设备
在发送信息时:将二进制(数字信号)信息转换为高低电压(电信号) #调至过程
在接收信息时:将高低电压(电信号)信息转换为二进制数(数字信号) #解调过程
3.在进行数据传输之前,需要协商网络传输速率。
网卡速度参数 100Mbps==100M bit 每秒==每秒钟传输多少个bit(0或1)100000k==100000000 bit/s=1bit/xxns
网络传输数据单位:比特 bit 1bit=1/8byte
磁盘存储数据单位:字节 byte 1byte=8bit
2. 网络设备说明介绍
什么是交换机
实现一个网络内多台主机之间的通讯
如何利用交换机实现通讯
1. 在数据前面设置目标地址和源地址,目标地址和源地址用mac地址进行标识
mac称为物理地址,每块网卡上都有的一个标识身份信息的
mac地址全球唯一,不能进行修改,mac地址用16进制标识
2. 在网络通讯初期,会利用广播方式进行发送数据包,在通讯的过程,数据包的发送一定是有去有回的。
在一个交换网路中,如果产生了大量广播数据包时会产生广播风暴,影响主机性能,这样的问题称为广播风暴问题
解决广播风暴问题思路
减少广播产生数量,将一个大的交换网络切割为几个小的交换网络(局域网,广播域)
交换机的种类
傻瓜交换机(TP-link/Dlink/水星…)
程控交换机(存储程序控制交换机,配置管理,思科、华为、华三)
什么是路由器
实现不同局域网之间主机通讯,可以隔离广播风暴(路由不同的接口连接不同广播域)
路由类似于现实生活中从A地去往B地可能需要先步行,在坐车,在做飞机才能到达B地,这样的整个过程在网络中对应数据的传递过程就称为路由。因此一个数据信息跨越不同的网段传递到目的地址,就可以把传递数据的过程称为路由,也可以看做每条传递数据的路径
需要有身份标识信息:ip地址
逻辑地址(可以改变的地址/???) 利用10进制方式进行显示
IP地址由两部分组成: 交换网络标识信息+主机地址标识信息===网段地址+主机地址
内网卡—交换机 192.168.11.0/24(192.168.11.1~192.168.11.254)
外网卡—运营商 122.71.227.79(铁通)
查公网ip的方法:
windows,打开浏览器,访问百度,搜IP即可
linux:curl ifconfig.me
高级路由器还有上网行为管理器和防火墙功能
路由实现数据传输通讯时,会根据路由表信息进行数据包路由
实现不同网段之间通讯需要经过一条必经之路,这条路称为网关
查看路由条目信息方法
[root@dmxsp ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
[root@dmxsp ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
第一列:所能去往网段的信息
第二列:0.0.0.0 通过局域网即可到达10.0.0.254 想去往其他网段的必经节点,称为网关
第三列:子网掩码(告诉网段内可以容纳多少主机)
最后一列:到达指定目标,通过哪一个接口出去
路由器与交换机区别
交换机 | 路由器 |
转发数据,同一个局域网/网段处理数据 | 转发数据,处理不同网段/局域网的数据 |
识别的是mac地址 | 识别的ip地址 |
产生广播风暴 | 隔离广播风暴 |
多个接口24/48/ | 接口较少4/8 |
mac地址缓存表(指路) | 路由条目(静态/动态) |
工作层次: 二层交换机 三层交换机 | 三层设备 |
3. 网络层次结构
网络拓扑
网络层次结构
核心层:主要部署路由器设备,用于连接外网线路,还要具备冗余能力
汇聚层:主要部署三层交换设备,用于相应安全访问控制 进行链路汇聚
接入层:主要部署二层交换设备,用于终端设备接入
一层交换机:只支持物理层协议
二层交换机:支持物理层和数据链路层协议
三层交换机:支持物理层,数据链路层及网络层协议
网络类型
局域网:本地私有的一个网络范围。规模较大的局域网,也会称为园区网
城域网:网络的覆盖面积达到了一个城市,就可以称为城域网
广域网:覆盖面积达到了全国或全球,就称为广域网,全球最大的广域网就是Internet互联网
4.OSI 7层模型
详解
OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
从低到高物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
数据包封装与解封装
封装
封装过程:由上至下进行封装
应用层、表示层、会话层 PDU 数据
传输层:分段 TCP协议
网络层:打包 TCP协议+IP地址
数据链路层:成帧 TCP协议+IP地址+MAC地址
物理层:位 数据成为比特
解封装
拆包过程:由下至上进行拆包
物理层:位 比特
数据链路层:查看MAC地址
网络层:查看IP地址
传输层:查看TCP协议
前三层:数据内容
不知名端口:1024以上的端口称为不知名端口
cat /proc/sys/net/ipv4/ip_local_port_range
5.TCP/IP (四层模型)

应用层协议介绍
FTP 21 明文协议,文件传输协议,基于TCP
TFTP 69 简单文件传输协议,基于UDP
SSH 22 安全外壳协议,远程连接,加密
Telnet 23 明文协议,远程连接
SNMP 161/162 简单网络管理协议,基于UDP
SMTP 25 简单邮件传输协议,基于TCP
HTTP 80 超文本传输协议
HTTPS 443 超文本传输安全协议
DHCP 67/68/546 动态主机设置协议,C(67),S(68),546(V6)
tcp与udp的区别

tcp的数据包结构

源端口:即本地发起连接的端口
目标端口: 即要访问的服务的端口
序列号: 因为传输层会将上层的数据进行分段,因此需要对分段数据进行编号,同时也便于数据的重组
验证号: 用于对数据的进行验证
UDP相关报文结构
UDP没有序列号字段和确认字段
主机到主机层协议介绍
TCP:传输控制协议,是一种面向连接的,可靠的,基于字节流的传输层通信协议
特点:面向连接,可靠,传输效率低
应有场景:web浏览器,电子邮件,文件传输程序
UDP:用户数据报协议,属于无连接的传输协议
特点:无连接,不可靠,快速传输
应有场景:域名系统(DNS),视频流,IP语音(VOIP)
TCP UDP协议端口号范围 1-65535(可以的),真正端口号总数为2的16次方=65536
面向连接:是指通信双方在通信时,要事先建立一条通信线路,其有三个过程:建立连接、使用连接、释放连接
面向无连接:是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)送到线路上,由系统自主选定路线进行传输
6.tcp 3次握手和tcp 4次挥手
1.由客户端发送建立 TCP 连接的请求报文,其中包含随机生成的seq 序列号,并且报文中 SYN 字段置为 1,表示需要建立TCP连接请求
2. 服务端 回复 客户端 发送的 TCP 连接请求报文,其中包含 seq 序列号,也是由服务端随机生成的,并且将回复报文的 SYN 字段置 1,而且会产生ACK 验证,ACK 验证字段数值是在 客户端 发过来的 seq 序列号基础上加1 进行回复,并且还会回复 ack 以便 客户端 收到信息时,明白自己的 TCP 建立请求已得到了确认
3. 客户端 收到 服务端 端发送的 TCP 建立请求后,会使自己的原有序列号加 1 进行再次发送序列号,并且再次回复 ACK 验证请求,在 服务端 发送过来的 seq基础上加 1进行回复;同时也会回复 ack 确认控制字段,以便 服务端 收到信息时,知道自己的 TCP 建立请求得到了确认
tcp 4次挥手
1. 客户端发送断开 TCP 连接请求报文,其中包含 seq 序列号,表示需要断开TCP 连接
2. 服务端 会回复 客户端 发送的 TCP 断开请求报文,其中包含seq 序列号,且会产生 ACK 验证字段,ACK 验证是在 客户端 发过来的 seq 序列号基础上加 1 进行回复;并且还会回复 ack 确认控制字段,以便 客户端 收到信息时,知道自己的 TCP 断开请求已得到了确认
3. 服务端 在回复完 客户端 的 TCP 断开请求确认控制字段后,不会马上就进行TCP 连接的断开,主机 服务端 会先确保断开前,所有传输的数据是否已经传输完毕,一旦确认传输数据完毕就会将控制报文中 FIN 字段置 1,进行发送断开请求
4. 客户端 收到服务端 的 TCP 断开请求后,会回复服务端 的断开请求,ack 验证字段会在的 TCP 断开请 seq 基础上加 1,并且还会回复 ack 确认控制字段,以服务端 收到信息时,知道自己的 TCP 断开请求已得到了确认
5. TCP 断开的 4 次挥手过程完毕,连接断开
控制字段介绍
ACK:表示确认控制字段,确认数据是否接收到
SYN:表示请求建立连接字段,和主机建立连接时使用
FIN:表示请求断开连接字段,和主机断开连接时使用
PSH:表示有DATA数据传输,PSH为1表示的是有真正的TCP数据包内容被传递
RST:表示连接重置。一般是在FIN之后才会出现为1的情况,表示的是连接重置。
seq序列号:将大的数据进行拆分后标记序列信息,便于接收方将拆分后的数据信息进行组装,在原有序列号基础上+1进行回复,告知发送方下次再给我发送的数据是什么
7.TCP协议的十一种状态集转换
TCP11种状态集表示含义
CLOSED:初始状态,表示TCP连接是“关闭着的”或“未打开的”
LISTEN :表示服务器端的某个SOCKET处于监听状态,可以接受客户端的连接
SYN_RCVD :表示服务器接收到了来自客户端请求连接的SYN报文。在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat很难看到这种状态,除非故意写一个监测程序,将三次TCP握手过程中最后一个ACK报文不予发送。当TCP连接处于此状态时,再收到客户端的ACK报文,它就会进入到ESTABLISHED状态
SYN_SENT :这个状态与SYN_RCVD状态相呼应,当客户端SOCKET执行connect()进行连接时,它首先发送SYN报文,然后随即进入到SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。SYN_SENT状态表示客户端已发送SYN报文
ESTABLISHED :表示TCP连接已经成功建立
FIN_WAIT_1 :这个状态得好好解释一下,其实FIN_WAIT_1和FIN_WAIT_2两种状态的真正含义都是表示等待对方的FIN报文。而这两种状态的区别是:FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN报文,此时该SOCKET进入到FIN_WAIT_1状态。而当对方回应ACK报文后,则进入到FIN_WAIT_2状态。当然在实际的正常情况下,无论对方处于任何种情况下,都应该马上回应ACK报文,所以FIN_WAIT_1状态一般是比较难见到的,而FIN_WAIT_2状态有时仍可以用netstat看到
FIN_WAIT_2 :上面已经解释了这种状态的由来,实际上FIN_WAIT_2状态下的SOCKET表示半连接,即有一方调用close()主动要求关闭连接。注意:FIN_WAIT_2是没有超时的(不像TIME_WAIT状态),这种状态下如果对方不关闭(不配合完成4次挥手过程),那这个FIN_WAIT_2状态将一直保持到系统重启,越来越多的FIN_WAIT_2状态会导致内核崩溃
TIME_WAIT :表示收到了对方的FIN报文,并发送出了ACK报文。TIME_WAIT状态下的TCP连接会等待2*MSL(Max Segment Lifetime,最大分段生存期,指一个TCP报文在Internet上的最长生存时间。每个具体的TCP协议实现都必须选择一个确定的MSL值,RFC 1122建议是2分钟,但BSD传统实现采用了30秒,Linux可以cat /proc/sys/net/ipv4/tcp_fin_timeout看到本机的这个值),然后即可回到CLOSED可用状态了。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到TIME_WAIT状态,而无须经过FIN_WAIT_2状态。(这种情况应该就是四次挥手变成三次挥手的那种情况)
CLOSING :这种状态在实际情况中应该很少见,属于一种比较罕见的例外状态。正常情况下,当一方发送FIN报文后,按理来说是应该先收到(或同时收到)对方的ACK报文,再收到对方的FIN报文。但是CLOSING状态表示一方发送FIN报文后,并没有收到对方的ACK报文,反而却也收到了对方的FIN报文。什么情况下会出现此种情况呢?那就是当双方几乎在同时close()一个SOCKET的话,就出现了双方同时发送FIN报文的情况,这是就会出现CLOSING状态,表示双方都正在关闭SOCKET连接
CLOSE_WAIT :表示正在等待关闭。怎么理解呢?当对方close()一个SOCKET后发送FIN报文给自己,你的系统毫无疑问地将会回应一个ACK报文给对方,此时TCP连接则进入到CLOSE_WAIT状态。接下来呢,你需要检查自己是否还有数据要发送给对方,如果没有的话,那你也就可以close()这个SOCKET并发送FIN报文给对方,即关闭自己到对方这个方向的连接。有数据的话则看程序的策略,继续发送或丢弃。简单地说,当你处于CLOSE_WAIT状态下,需要完成的事情是等待你去关闭连接。
LAST_ACK :当被动关闭的一方在发送FIN报文后,等待对方的ACK报文的时候,就处于LAST_ACK状态。当收到对方的ACK报文后,也就可以进入到CLOSED可用状态了
8.因特网层协议介绍
ICMP:Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。RARP:反向地址转换协议
ARP:地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。作用:有效的避免广播风暴的产生
动态ARP:自动完善ARP表信息,会定时更新ARP条目,自动更新ARP表时会消耗服务器性能,适用于主机更换频繁网络。
静态ARP:手工配置ARP表信息,不会实时更新ARP条目,节省服务器性能,适用于主机更换不频繁网络
9.网络接入层介绍
Ethernet:以太网(Ethernet)是一种计算机局域网技术。
FastEth:快速以太网(Fast Ethernet)是一类新型的局域网,其名称中的“快速”是指数据速率可以达到100Mbps,是标准以太网的数据速率的十倍。
Token Ring:令牌环网(Token Ring)是一种LAN协议,其中所有的工作站都连接到一个环上,每个工作站只能同直接相邻的工作站传输数据。
FDDI:光纤分布式数据接口,在光缆网络上发送数字和音频信号的一组协议
10.IP地址
IP地址基本概念
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
IP地址在网络层将不同的物理网络地址统一到了全球唯一的IP地址上(屏蔽物理网络差异),是唯一标识互联网上计算机的逻辑地址(相当于手机号码,可以通过唯一的手机号码找到手机),所以IP地址也被称为互联网地址(可见其重要性)
IP地址格式
我们目前常用的IPv4中规定,IP地址长度为32位二进制,在表示时,一般将32位地址拆分为4个8位二进制,再转为4个十进制数表示,每个数字之间用点隔开,如127.0.0.1(localhost),这种描述方式被称为“点-数表示法”。
IP地址层次:分为网络号和主机号两个层次。网络号表示主机所属网络,主机号表示主机本身。网络号与主机号的位数与IP地址分类有关
IP地址分配
IP地址分配的基本原则是:要为同一网络(子网、网段)内不同主机分配相同的网络号,不同的主机号
IP地址类型
公有地址
公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。全球唯一,不能出现重复
私有地址
私有地址(Private address)属于非注册地址,专门为组织机构内部使用。缓解了地址枯竭 是可以重复使用的(不同局域网内)
以下列出留用的内部私有地址
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
需要实现配置私网地址的服务器可以访问外网(互联网)???
NAT — 网络地址转换技术(化妆),将私网地址转换为公网地址
IP地址常见分类
A类IP地址
一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数达1600多万台。
A类IP地址 地址范围1.0.0.1到127.255.255.254 (二进制表示为:00000001 00000000 00000000 00000001 – 01111111 11111111 11111111 11111110)。最后一个是广播地址
A类IP地址的子网掩码为255.0.0.0,每个网络支持的最大主机数为256的3次方-2=16777212台
B类IP地址
一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。
B类IP地址地址范围128.0.0.1-191.255.255.254 (二进制表示为:10000000 00000000 00000000 00000001—-10111111 11111111 11111111 11111110)。 最后一个是广播地址
B类IP地址的子网掩码为255.255.0.0,每个网络支持的最大主机数为256的2次方-2=65534台
C类IP地址
一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。
C类IP地址范围192.0.0.1-223.255.255.254 (二进制表示为: 11000000 00000000 00000000 00000001 – 11011111 11111111 11111111 11111110)
C类IP地址的子网掩码为255.255.255.0,每个网络支持的最大主机数为256-2=254台
D类地址用于多点广播(Multicast)
D类IP地址在历史上被叫做多播地址(multicast address),即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是“1110”,范围从224.0.0.0到239.255.255.255
类IP地址
以“llll0”开始,为将来使用保留
特殊的IP地址
1.每一个字节都为0的地址(“0.0.0.0”)对应于当前主机
2.IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址;3.IP地址中凡是以“11110”开头的E类IP地址都保留用于将来和实验使用
4.IP地址中不能以十进制“127”作为开头,该类地址中数字127.0.0.1到127.255.255.255用于回路测试,如:127.0.0.1可以代表本机IP地址,用“http://127.0.0.1”就可以测试本机中配置的Web服务器
5.169.254.0.0~169.254.255.255,是开启了dhcp服务的设备但又无法获取到dhcp的会随机使用这个网段的ip
11.子网掩码
子网掩码又叫网络掩码、地址掩码
上面我们说到IP地址分为网络号与主机号,但是路由如何区分网络号与主机号呢?就需要通过子网掩码。子网掩码必须与IP地址结合使用,A、B、C类的子网掩码分别为255.0.0.0,255.255.0.0与255.255.255.0(网络号字节为255,主机号字节为0)。
也就是说给你一个IP地址,那么怎么知道它的网络号和主机号各是多少位呢?
如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现
子网掩码的重要作用:就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码的位数就是网络的位数。A类网络的网络位数是8位,子网掩码就是255.0.0.0,B类网络的网络位数是16位,子网掩码是255.255.0.0,C类是24位,255.255.255.0
举例:不同子网下的主机能否直接通信(是否在同一网络/段下)
假设两个IP地址分别是172.20.0.18和172.20.1.16,子网掩码都是255.255.255.0
我们可以知道两者的网络标识分别是172.20.0和172.20.1,无法直接通信,也就无法PING通。要想能相互通信,需要将子网掩码改成255.255.0.0
如何理解172.20.1.0/18
为什么要子网划分
一个大的地址范围区域,你不进行划分的时候,会造成地址浪费
一个大的地址范围区域,可能会产生大量广播风暴,影响主机性能
一个大的地址访问区域,可能会造成网关路由器负载过高
将一个大的网段切割成一个一个小的局域网段,就称为子网划分
一个网段中可以有多少个地址=2的n次方-2 n表示的就是这个网段中有多少个主机位
-2 表示网络地址不能用 表示广播地址不能用
一个局域网中的地址在使用时要预留一个作为网关地址
如何理解172.20.1.0/26
上文中的26代表主机ID的掩码地址长度,从前往后有26位,即子网掩码的地址是255.255.255.192
子网掩码还可以用来将网络划分为更小的子网,将IP的两极结构扩充成三级结构,节约地址空间,减轻路由器负担
子网掩码的划分
如果要将一个网络划分为多个子网,如何确定子网掩码?步骤如下:
第一步:将要划分的子网数目转换为2的m次方。如果不是恰好是2的多少次方,则按照取大原则
第二步:将上一步确定的幂m按照高序占用主机地址前m位,再转化为十进制。如m为3,表示主机位中有3位被划分为网络标识号占用,因网络标识号都为1,故如是C类地址,主机号对应的字节变为11100000,转化为十进制后为224,故子网掩码为255.255.255.224,如果是B类网络,则子网掩码为255.255.224.0
12.网关
网关(Gateway)又称网间连接器,就是一个网络连接到另一个网络的“关口”。
网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络B向网络A转发数据包的过程。
所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。