美文网首页
理解TCP/IP网络-读《计算机是怎样跑起来的第八章》

理解TCP/IP网络-读《计算机是怎样跑起来的第八章》

作者: _Irving | 来源:发表于2017-12-07 10:57 被阅读0次

    首先理解几个术语:
    LAN:local area network;
     TCP/IP:Transmission Control Protocol/Internet Protocol(传输控制协议和网际协议)

    在所有的网络的计算机上,有些是服务器,有些事客户端。集线器是负责把各台计算机的网线相互连接在一起的集线设备,路由器是负责把公司内的网络和互联网连接起来的设备。
    把像互联网那样将企业和企业连接起来的大规模网络称作WAN,路由器负责将LAN连接到WAN上。路由器的一端会先连接到互联网服务提供商的路由器上。而在服务提供商哪里,又会继续将他们的路由器连接到其他路由器上,通过这种方式最终接入到互联网的主干线缆上。

    组建公司内部的网络时,需要如下:
    1、安装到每台计算机上的网卡(NIC,Network Interface Card);2、插到网卡上的网线;3、把网线汇集起来连接到一处的集线器;4、用于介入到互联网的路由器。需要注意的是把这些硬件的回个只有相匹配才能连接到一起。

    MAC地址

    在以太网中,发送给一台计算机的电信号也可以被其他所有的计算机收到。可以用被称作MAC(Media Access Control)地址的编号来指定电信号的接收者。在每一块网卡说带有的ROM(read only memory,只读存储器)中,都预先烧录了一个唯一的MAC地址。网卡的制造厂商负责确定这个MAC地址是什么。因为MAC地址是由网卡制造厂商的编号和产品编号两部分组成,所以世界上的每一个MAC地址都是独一无二的。

    当我们在命令提示符里输入ipconfig,回车,出来的信息,显示的Physical Address后面的用“-”分隔的6个十六进制数就是MAC地址。

    00-0B-10代表制造商,09-2C-01代表产品的编号

    IP地址

    在TCP/IP网络中,除了硬件上的MAC地址,还需要为每台计算机设定一个软件上的编号,这个编号就是IP地址。通常把设定了IP地址的计算机称为“主机”(host),所以在TCP/IP网络中,传输的数据都会携带MAC地址和IP地址两个地址。

    IP地址是一个32比特的整数,每8比特为一组,分成四段表示,8比特所表示的整数换算成十进制后范围是0~255,因此可用作IP地址的整数是0.0.0.0~255.255.255.255,共计429496296个。
    通过IP地址就可以轻松地对计算机进行分组管理了。比如用IP地址中第一段到第三段数值代表公司,用第四段数值代表公司内部的计算机。通常把IP地址中表示分组(LAN)的部分称作“网络地址”,表示各台计算机(即主机)的部分称为“主机地址”。

    子网掩码

    Subnet Mask(子网掩码)作用是标识出在32比特的IP地址中,从哪一位到哪一位是网络地址,从哪一位到哪一位是主机地址。例如:

    把子网掩码用二进制表示:
    11111111.11111111.11111111.11110000
    子网掩码中,值为1的那些位对应着IP地址中的网络地址,后面值为0的那些位则对应着主机地址。所以此例表示的是后4位为主机地址。表示16个数,而0000和1111具有特俗用途,所以这个环境最多可以配置14台计算机,主机地址范围是0001到1110。但是这其中又有一台路由器,所以最多只能放置13台计算机。

    DHCP

    虽然现在都可以手动设置ip地址和子网掩码,但是大多数情况下还是会选择“自动获取IP地址”这个选项,这个选项使得计算机在启动时会去从DHCP服务器获取ip地址和子网掩码,并自动配置它们。
    DHCP(Dynamic Host Configuration Protocol动态主机设置协议),在图1所示的布局图中用linux做DHCP服务器角色。DHCP服务器上记录着可以被分配到LAN内计算机的IP地址和子网掩码的值。

    默认网关

    看上图的“默认网关”配置项,通常会把路由器的IP地址设置在这里,也就是说路由器就是LAN通往互联网世界的入口(gateway),路由器的IP地址也可以从DHCP服务器获取。

    路由器充当数据传输的指路人

    路由器,就是决定数据传输路径的设备。当从公司内的计算机向另一家公司的计算机发送数据时,一个不属于LAN内计算机的IP地址会被附加到数据的发送目的地字段上。这样的数据虽然会被LAN内计算机所忽略,但是不会被路由器忽略。因为路由器的工作原理就是查看附加到数据上的I票地址中的网络地址部分,只要发现这个数据不是发送给LAN内计算机的,就把它发送到LAN外,即互联网的世界中。分布在世界各地的LAN中的路由器相互交换着信息,互联网正事由于这种信息的交换才得以联通。这种信息被称作“路由表”,在一台路由器的路由表中,只会记通往与之相邻的路由器的路径,而并不会记录世界范围内的所有传输路径。

    使用tracert命令,查看路由过程:

    DNS服务器可以把主机名解析为IP地址

    DNS(Domain Name System域名系统)把www.baidu.com解析为61.135.169.125这样的IP地址
    每个计算机都有一个主机名,每个LAN也都有一个域名。通常把这种主机名和域名组合起来形成的名字称作FQDN(fully Qualified Domain Name完整限定域名),和ip地址的作用是等价的。
    输入命令hostname可以查看主机名,在DNS服务器上,输入ipconfig/all,hostname下面显示的就是LAN的域名。
    DNS服务器通常被部署在各个LAN中,里面记忆这FQDN和IP地址的对应关系表,世界范围内的DNS服务器是通过相互合作运转起来的。

    在DNS服务器上,在命令提示符窗口中执行nslookup,屏幕上就会显示出一个提示符“>”,表示现在可以询问DNS服务器了。

    而提示符上面显示的ns.yzw.co.jp和202.26.186.172就是此LAN环境内的DNS服务器的FQDN和IP地址;在“>”后面输入www.baidu.com回车就会显示这个域名的ip地址,exit退出。

    IP地址和MAC地址的对应关系

    在互联网世界中,导出传输的都是附带了IP地址的数据,但是能够标识作为数据的最终接收者的网卡的,还是MAC地址。于是在计算机中就加入了一种程序,用于实现IP地址到MAC地址的转换,这种功能被称为ARP(Address Resolution Protocol,地址解析协议)。
    ARP的工作方式是向LAN中所有工作的计算机广播提问,“谁的IP地址是xxxxxxxxx?”,而当ARP询问完一轮后,就会把LAN内得到的IP地址和MAC地址的对应关系缓存起来,可以通过arp -a查看ARP缓存表。

    TCP的作用以及TCP/IP网络的层级模型

    IP协议用于指定数据发送的目的地的IP地址以及通过路由器转发数据。而TCP协议则用于通过数据发送者和接收者相互回应对方发来的确认信号,可靠地传输数据。通常把这样的数据传输方式称为“握手”,TCP还规定,发送者要先把原始的大数据分割成以“包”为单位的数据单元。
    发送者和接收者都遵循了相同的约束,双方才能相互发送数据。为了能够在约束下收发数据,操作系统将实现了TCP和IP等协议的程序作为自身的一部分功能提供。遵循约束表现在统一数据的格式上。例如,敲打键盘输入的电子邮件正文等数据,并不是原封不动地发送出去的,而是先通过实现了TCP协议的程序附加上遵守TCP约束所需的信息,然后再通过实现了IP协议的程序,进一步附加上遵守IP约束所需的信息。实际上计算机发送的是以包为单位的、附加了各种各样信息的数据。
    硬件上发送数据的是网卡。在网卡之上是设备驱动程序(用于控制网卡这类硬件的程序),设备驱动程序之上是实现了IP协议的程序,IP程序之上则是实现了TCP协议的程序,而再往上才是应用程序,比如Web或电子邮件。这样就构成了一幅在硬件之上堆叠了若干个软件层。TCP协议使用被称作“TCP端口号”的数字识别上层的应用程序。TCP端口号中有一些是预先定义好的,比如Web使用80端口,电子邮件使用25端口(用于发送)和110端口(用于接收)。

    相关文章

      网友评论

          本文标题:理解TCP/IP网络-读《计算机是怎样跑起来的第八章》

          本文链接:https://www.haomeiwen.com/subject/vxqlixtx.html