网络基础【Linux网络编程】

目录

一、网络发展

二、协议和协议分层

OSI七层网络模型

TCP/IP协议栈

三、网络和OS的关系

四、网络传输基本流程

五、数据包封装和分用 

六、IP地址和MAC地址

MAC地址

局域网通信原理

IP地址 


一、网络发展

详细参考此篇博文:网络发展史

独立模式

计算机之间相互独立;

网络互联

多台计算机连接在一起, 完成数据共享;

局域网LAN

计算机数量更多了, 通过交换机和路由器连接在一起;

广域网WAN

将远隔千里的计算机都连在一起;

局域网和广域网只是一个相对的概念,没有明显的界限划分。

最早的网络:

1969年,美国国防高级研究项目署建立了ARPANET(阿帕网)。

二、协议和协议分层

协议是一种约定,计算机之间要想传递各种不同的信息,就要约定好双方的数据格式。

在收快递时,我们收到的不仅仅是我们购买的物品,还会有一个盒子和一个快递单(发件人信息和收件人信息等)。同理,我们在网络通信时,收发的不仅仅是消息,还要多收发一些东西,多出来的一部分就叫协议(报头)

在C语言里描述协议,就是描述协议的各种信息,就是定义一个结构体对象

为什么网络要分层?

1、规模太大

2、问题是分层的

OSI七层网络模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;

把网络从逻辑上分为了7层(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层). 每一层都有相关、相对应的物理设备,比如路由器,交换机;


OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;

在工程实践中,会话和表示层一般是交给应用层做的,也就是3层压缩成一层,后面我们谈的都是TCP/IP五层模型。

TCP/IP协议栈

因为最重要的是传输层和网络层,而传输层最重要的协议是TCP,网络层最重要的协议是IP,所以就叫TCP/IP协议簇。

三、网络和OS的关系

四、网络传输基本流程

 网络通信的本质就是贯穿协议栈的过程。

局域网中,任意两台主机可以直接通信,其通信保障就是局域网协议,局域网协议有很多种,典型的有以太网(主流)、令牌环网、无线LAN(手机)等。

跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。

五、数据包封装和分用 

应用层的数据通过协议栈发到网上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的“上层协议字段”,将数据交给对应的上层协议处理。

报文 = 报头(每层协议加的数据首部)+有效载荷(你好) 

不同的协议层对“报文”有不同的称谓,传输层叫段,网络层叫数据报,链路层叫帧。 

令牌环网:持有令牌数据的主机才能进行消息发送,类似系统里锁的思想。

C主机和路由器在同一个局域网内,同一个局域网内可以直接通信,所以C主机可以根据路由器的MAC地址将数据发给路由器,路由器再根据S主机的IP地址将数据发给S主机。

IP协议屏蔽了底层网络的差异化,靠的就是工作在IP层的路由器。

IP实现了全球主机的软件虚拟层,一切皆是IP报文。

六、IP地址和MAC地址

MAC地址

每张网卡在出厂时都会有一个48位(6字节)一般用16进制数字加上冒号的形式来表示序列号(全球唯一),这个就是MAC地址。只要保证局域网内的唯一性就行。

用来识别数据链路层中相连的节点。

局域网通信原理

在局域网中,一台主机给另一台主机发送信息时,物理上每台主机都是可以接收到的,只是该主机知道该信息不是发给我的,它忽略了不主动交给上层。

网卡的工作模式不仅有正常模式,还有混杂模式,在该模式下,可以接收不是发送给自己的消息,并交给上层用户,这就是大多数抓包软件的工作原理。

安全问题可以在应用层就对数据进行加密,这样即使数据被别人抓到了,也没啥关系。

同时,以太网中存在数据碰撞问题,同一时刻,一个局域网内只能有,所以发送主机要执行碰撞避免的算法(延迟等待)一个局域网叫一个碰撞域。

如果局域网中的主机很多,那么碰撞的概率就会变大,交换机就可以解决这个问题。

如,H1要将它的数据发给H7,因为两台主机都在交换机左侧,所以该数据就不必让交互机右侧的主机收到,这样就可以降低碰撞的概率。交换机的功能就是划分碰撞域。

IP地址 

IP地址是一个数字,用于唯一标识网络中的一台主机。应用于网络层,基于网络拓扑描述起点和终点。

IPv4:32位,4字节

简单理解:标识特定一台主机在全网的唯一性。

ifconfig指令可以查看ip地址和mac地址:

七、练习题笔记

"一个MAC地址只能对应唯一一个IP地址"这句话是错误的,由于IP地址是一个逻辑地址,所以可以给MAC地址对应分配不同的IP地址,使网络通信更加灵活(虚拟机?)。

IP数据报的收发方进行跨网投递时,发送方需利用ARP协议获取哪些信息()

当需要跨网络进行传递的时候,也就是意味着需要找到该数据包的下一跳的MAC地址,所以认为从发送方出来,首先先到到达本网段的路由器,所以获取本网段的路由器的MAC地址

A、B两个网络,IP均为静态分配,且IP段不同。当一台主机从一个A网络移到B一个网络时,以下说法正确的是()

B.必须改变它的IP地址,但不需改动MAC地址

每个网络都会有不同的网段,网段是该网络的标识,在该网络中分配的IP地址都会带有网段标识,标识自己所属网络,这样路由器才能进行路径规划,因此当主机改变所在网络时需要将IP地址改成该网段的ip地址,但是MAC地址不用修改,MAC地址本身也是不允许修改 

在数据链路层不但会增加以太网头部还会在尾部加上以太网尾部。 

  • 30
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值