python -- 网络编程的基础知识

计算机网络有很多种类,有不同的分类法则,常见的有:局域网(LAN)、城域网(MAN)、广域网(WAN),Internet 是世界上最大的广域网,其中 Internet 上的万维网最大的互联网络。

WWW 是环球信息网的缩写(“World Wide Web”),中文名字为“万维网”等,常简称为Web。 分为Web客户端和Web服务器程序。 WWW可以让Web客户端(常用浏览器)访问浏览Web服务器上的页面。 是一个由许多互相链接的超文本组成的系统,通过互联网访问。在这个系统中,每个有用的事物,称为一样“资源”;并且由一个全局“统一资源标识符”(URI)标识;这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源。

OSI七层模型和TCP/IP协议四层模型

各层主要的协议

这里写图片描述

一.物理层(Physical Layer)

物理层的协议产生并检测电压以便发送和接收携带数据的信号。在你的桌面 PC 上插入网络接口卡,你就提供了一个物理层。用户要传递信息就要利用一些物理媒体,如双绞线、同轴电缆等。物理层的任务就是为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性。如规定使用电缆和接头的类型、传送信号的电压等。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是bit比特。高电压就是 1,低电压就是 0。

二.数据链路层(Datalink Layer)

主要功能是如何在不可靠的物理线路上进行数据的可靠传递。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的物理地址以及检错和控制信息等。

该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。   

帧是数据链路层的传送单位。一个帧的帧长等于帧的数据部分加上帧的首部和尾部的长度。首部和尾部的一个重要作用是帧定界(确定帧的界限)。每一种链路层协议都规定了所能传输的帧的数据部分的上限既最大传输单元MTU。

  • 在数据链路层对数据的分组遵循以太网协议(Ethernet),所以也叫以太帧。
  • 每一数据帧包含报头head 和数据 date 两部分。
  • head 固定 18 字节(目标 MAC 地址6,发送源 MAC 地址6,数据类型6),date (46-1500字节,超过就分片)。
  • MAC 地址具有唯一性,48位二进制,12位16进制表示(前6是厂商编号,后6是流水线号)
  • 同一局域网在一个广播域,以太网采用最原始的方式通信,广播。

三.网络层(Network Layer)

主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。网络层用于本地 LAN 网段之上的通信,它之所以可以这样做,是因为它有自己的路由地址结构,这种结构与第二层机器地址是分开的、独立的。这种协议称为路由或可路由协议。路由协议包括  IP 协议。即网络层的功能是引入一套新的地址用来区分不同的广播域(子网),这套地址就是网络地址,即 IP 协议,它定义的地址就是 IP 地址。

  • IP 地址由32 位二进制表示,通常写成 四段十进制数,范围 0.0.0.0~255.255.255.255。加上划分子网,现在的 IP 地址便是方式:{ 网络号,子网号,主机号 }。
  • 子网掩码,形式上和 IP 一致,他的网络部分全是1,主机部分全是 0。标识一个 IP 地址哪些位代表网络位,哪些代表主机位,他的作用就是将 IP 地址划分为网络地址和主机地址两部分,所以,它必须和 IP 地址结合来使用。

重点了解 IP 报文

  • IP 协议是 TCP/IP 协议的核心,所有的 TCP, UDP, IMCP, IGCP 的数据都是以 IP 数据的格式在传输。
  • IP 不是可靠的协议,这个问题需要他的上层 TCP 协议去解决,TCP 是可靠的。
  • IP 数据报的 head 部分有至少 20字节。IP 数据报理论上可以达到 65535 字节,在链路层还会对它进行切分。

四.传输层(Transport Layer)

工作在传输层的一种服务是 T P/IP 协议套中的 TCP(传输控制协议),网络层的 IP 帮我们找到子网,MAC 地址帮助找到主机,传输层帮助找到应用程序,即建立端口到端口之间的通信。

  • 端口范围是 0~65535,0~1023 是系统占用的端口。
  • TCP 数据报没有长度限制,但一般不会超过 IP 数据报的长度。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附一张经典图:

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值