TCP/IP网络初识
————来自(《计算机是怎样跑起来的》读书笔记)
此笔记已根据现阶段win10版对其中进行了考证和实现
TCP/IP网络
关键词引入:
- LAN 是 Local Area Network(局域网)的缩略语。
通常把在一栋建筑物内或是一间办公室里的那种小规 模网络称作 LAN。与此相对,把互联网那样的大规模 网络称作 WAN(Wide Area Network,广域网)。
- TCP/IP 是 Transmission Control Protocol/Internet Protocol(传输控制协议和网际协议)的缩略语。
TCP/IP 协议族是互联网所使用的一套标准协议。TCP/IP 这个名字意味着同时使用了 TCP 协议和 IP 协议。
- 所谓 MAC 地址就是能够标识网卡的编号。
几乎所有的网卡都会在上市前被分配一个不可变更的 MAC 地址。本章将介绍查看 MAC 地址的方法。
注:“协议”——顾名思义介绍对信息发送方式的规定或约束。
下面由七个实验理解网络
测试实验环境(基础知识)
服务器(Server,服务的提供者)、
客户端(Client,服务的利用者)、
在服务器上运行的程序 为客户端提供服务
集线器(Hub,负责把各台计算机的网线相互连接在一起的集线设备。)、
路由器(Router 负责把公司内的网络和 互联网连接起来的设备。)
小规模网络(LAN)、企业与企业联结的大规模网络(WAN),路由器负 责将 LAN 连接到 WAN 上。
以企业内的 LAN 为一个基本单位,通过服务提供商的路由器 把它们和其他企业的 LAN 互联起来,而把这种联结延伸至世界各个角 落的正就是互联网。把像 LAN 这样的一张张小网都联结起来,就能织 成一张叫作互联网的大网。
实验一,查看网卡(NIC)的MAC地址
CSMA/CD(Career Sense Multiple Access with Collision Detection,带冲突检测的载波监听多路访问)
作用原理:万一遇到了多台计算机同时都想发送电信号的情况,只需要 让这些计算机等待一段长度随机的时间后再重新发送相同的电信号即可。
解释:载波监听 (Career Sense),指的是这套机制会去监听(Sense)表示网络是否正在 使用的电信号(Career)。而多路复用(Multiple Access)指的是多个 (Multiple)设备可以同时访问(Access)传输介质。带冲突检测(with Collision Detection)则表示这套机制会去检测(Detection)因同一时刻的传输而导致的电信号冲突(Collision)。在小规模的 LAN 中,像这样略显粗躁的 CSMA/CD 机制是可以正常运转的。
注:
- CSMA/CD 归根结底也只是一种适用于 LAN 的机制。
- 世界上每一个MAC地址都是独一无二的
正式开始——我是Win10,此版本的操作步骤如下:
- 同时按
windows
键 和 R键,调出命令提示窗口: - 输入命令——
ipconfig /all
- (我的已经全部汉化)出现此窗口:
- 重点关注:
注:画面中显示在物理地址后面的、用“-”分隔的 6 个 十六进制数(每个数占 8 比特)XX-XX-XX-XX-XX-XX 就是 MAC 地址。 其中 前三个XX-XX-XX 代表制造商,后三个XX-XX-XX代表产品的编号。
实验 二:查看计算机的 IP 地址
1.TCP/IP 网络中,除了硬件上的 MAC 地址,还需要为每 台计算机设定一个软件上的编号。这个编号就是众所周知的 IP 地址。
2.通常把设定了 IP 地址的计算机称为“主机”(Host)。因为路由器 也算是计算机的一种,所以它们也有 IP 地址。在 TCP/IP 网络中,传输 的数据都会携带 MAC 地址和 IP 地址两个地址。
步骤:
还是上面的相同指令:
但关注点在
IP 地址是一个 32 比特的整数,每 8 比特为一组,组间用“.”分 隔,分成 4 段表示。8 比特所表示的整数换算成十进制后范围是 0~255,因此可用作 IP 地址的整数是 0.0.0.0~255.255.255.255,共计4294967296 个。
有了IP地址就可以对计算机分组管理:
例如,在 AAA.BBB.CCC 这个公司内,如果有一台计算机 的编号是 ×××,那么它的 IP 地址就是 AAA.BBB.CCC.XXX。而看到 了 AAA.BBB.CCC.YYY 这样一个 IP 地址,就能知道它是这个公司内 的另一台计算机。通常把 IP 地址中表示分组(即 LAN)的部分称作 “网络地址”、表示各台计算机(即主机)的部分称为“主机地址”。在 本例中,AAA.BBB.CCC 这一部分是网络地址,而 XXX 或 YYY 的部 分是主机地址。
子网掩码:
标识出在 32 比特的 IP 地 址中,从哪一位到哪一位是网络地址,从哪一位到哪一位是主机地址。
255.255.255.240 用二进制表示的话,结果如下所示。 11111111.11111111.11111111.11110000
子网掩码中,值为 1 的那些位对应着 IP 地址中的网络地址,后面 值为 0 的那些位则对应着主机地址。因此 255.255.255.240 这个子网掩 码就表示,其所对应的 IP 地址前 28 比特是网络地址,后 4 比特是主机 地址。
每个IP地址也是独一无二的
实验三:DHCP服务器的作用
如果您使用的是 Windows 10,请先打开控制面板中的“查看网络状态 和任务”,然后单击左侧边栏中的“更改适配器设置”,接着用鼠标右键单 击“本地连接”并选择“属性”菜单项,在打开的窗口中选择“Internet 协 议版本 4(TCP/IPv4)”,最后单击“属性”按钮。
自己见解:在win10版,本地连接和以太网是相同的概念,因此在网络连接里找以太网也是相同的。我在一开始实操时发现没有以太网/本地连接选项,后来在CSDN上查找相关资料后,
- 一定是先选中网络适配器,之后选择-操作–添加过时硬件
- 直接下一步
- 添加硬件页面选择第二个
- 选择左侧 Microsoft,右侧*环行适配器。
以太网就可以出现了。
DHCP 的全称是 Dynamic Host Configuration Protocol(动态主机设 置协议)。
即使服务器上装的是 Linux,而客户端装的是 Windows,也 没有关系。
DHCP 服务器上记录着可以被分配到 LAN 内计算机的 IP 地址范围 和子网掩码的值。
注意:可以看到有一个叫作“默认网关”的配置项。通常会把路由器的 IP 地址设置在这里。也就是说路由器就是从 LAN 通往互联网世界的入口 (Gateway)。
DNS 服务器的 IP 地址也可以从 DHCP 服务器获取。
实验四:路由器
就是决定数据传输路径的设备。
路由器也是连接在集线器上,所有发送出去的数据也都会发到路由器上。
为路由器的工作原理就是 查看附加到数据上的 IP 地址中的网络地址部分,只要发现这个数据 不是发送给 LAN 内计算机的,就把它发送到 LAN 外,即互联网的 世界中。
查看路由表步骤(win10):
- 同时按win + R 打开命令提示符窗口
- 输入
route print
- 会出现IPV4、IPV6路由表。
中文版:
实验五:查看路由器的路由过程
路由:通常把这种数据经过路由 器转发的过程称为“路由”(Routing)。
通过 打开命令提示符窗口输入 tracert
+网址——看见该网页的Web服务器的路径。
实验六:DNS 服务器可以把主机名解析成 IP 地址
由实验五,发现可以直接用一串网址代替IP地址,
实际上,在互联网中还存在着一种叫作 DNS(Domain Name System,域 名系统)的服务器。正是该服务器为我们把 www.grapecity.com 这样的 域名解析为了 210.160.205.80 这样的 IP 地址 。
每个计算机都有一个主机名,每个 LAN 也都有一个域名。把主机名和域名结合就是标识该台计算机独一无二的名字,与IP地址的作用等价。
通常把这种由 主机名和域名组合起来形成的名字称作 FQDN(Fully Qualified Domain Name,完整限定域名)。
背景知识:
明出了 DNS 服务器,这样只需要使用 FQDN,DNS 服务器就可以自动 地把它解析为 IP 地址了(这个过程叫作“域名解析”)。DNS 服务器通 常被部署在各个 LAN 中,里面记录着 FQDN 和 IP 地址的对应关系表。 世界范围内的 DNS 服务器是通过相互合作运转起来的。如果一台 DNS 服务器无法解析域名,它就会去询问其他的 DNS 服务器。这套流程是 自动进行的。
查看自己的电脑FQDN
- 打开命令提示符窗口;
- 输入
hostname
——出现主机名 - 输入
ipconfig /all
——出现FQDN
利用DNS服务器
- 打开命令提示符窗口;
- 输入:
nslookup
- 输入网址,按enter键即出现IP地址
- 要退出,输入
exit
即可
实验 七:查看 IP 地址和 MAC 地址的对应关系
ARP:
能够标识作为数据最终接收者的网卡的,还是 MAC 地址。于是在计算 机中就加入了一种程序,用于实现由 IP 地址到 MAC 地址的转换,这 种功能被称作 ARP(Address Resolution Protocol,地址解析协议)。
存起来的这些对应关系信息称作“ARP 缓存 表”。只要在命令提示符窗口中执行 arp -a
命令,就可以查看当前 ARP 缓存表中的内容。
TCP 的作用及 TCP/IP 网络的层级模型
- IP协议:用于指定数据发送目的地的 IP 地址以及通过路由器转发数据。
- TCP协议:用于通过数据发送者和接收者相互回应对方发来的确认信 号,可靠地传输数据。
TCP协议还规定:
发送者要先把原始的大数据分割成以“包”(Packet)为单位的数据单元,然后再发送, 而接收者要把收到的包拼装在一起还原出原始数据。
这里的“握手“是指数据传送方式
即正因为发送者和接收者都遵循了相同的约束,双方才能相互发送数据。为了能够在约束下收发数据,操作系统将实现了 TCP 和 IP 等协议的程序作为自身的一部分功能提供。遵循约束表现在统一数据的格式上。
因此发送一份信息,包含如下内容:
层级/或者理解成发送信息时的顺序如下图:
其中TCP端口有一些是预先设定好的:
比如 Web 使用80 端口,电子邮件使用25 端口(用于发送)和 110 端口(用 于接收)。