Skip to content

Latest commit

 

History

History
112 lines (80 loc) · 4.03 KB

File metadata and controls

112 lines (80 loc) · 4.03 KB

web 网络基础

正如郭大侠所说,tcp/ip illustrated,已经对于计算机网络讲的很细致了,没有必要再“班门弄斧”,但是我不是这样认为的:作为权威书籍,我很认可,但是并不是适用所有的场合,我们需要将计算机网络与web关联的部分集中起来学习,不多也不少,满足需求就好,只要你入了门,后面自己查工具书就好。

内容索引

  1. 计算机网络简介
  2. tcp/ip 协议简述
  3. python socket通信
  4. http基础
  5. 小样

计算机网络简介

现在使用的计算机网络可以分为两个大层,下三层(物理层,数据链路层,网络层)作为一层,可被称为媒介层,上四层(传输层,会话层,表示层,应用层),可被称为主机层。下三层普遍使用的是以太网协议,上四层使用的TCP/IP协议;上四层与下三层可以使用不同的协议进行组合,下三层主要保证网络结构的构建与管理,数据在结点间的传输,只保证最基本的比特流的传输和校验。

OSI 模型
协议数据单元 功能 例子
主机层 7. 应用层 数据 High-level APIs, including resource sharing, remote file access DotNetFtpLibrary, SMTP web API, SSH, .NET, SnmpSharpNet, HTML Class, HTTP API server
6. 表示层 Translation of data between a networking service and an application; including character encoding, data compression and encryption/decryption CSS, GIF, HTML, XML, JSON, S/MIME
5. 会话层 Managing communication sessions, i.e. continuous exchange of information in the form of multiple back-and-forth transmissions between two nodes RPC, SCP, NFS, PAP, TLS, FTP, HTTP, HTTPS, SMTP, SSH, Telnet
4. 传输层 TCP/UDP Reliable transmission of data segments between points on a network, including segmentation, acknowledgement and multiplexing NBF, TCP, UDP
媒介层 3. 网络层 数据包 Structuring and managing a multi-node network, including addressing, routing and traffic control AppleTalk, ICMP, IPsec, IPv4, IPv6
2. 数据链路层 Reliable transmission of data frames between two nodes connected by a physical layer IEEE 802.2, L2TP, LLDP, MAC, PPP, ATM, MPLS
1. 物理层 比特 Transmission and reception of raw bit streams over a physical medium DOCSIS, DSL, Ethernet physical layer, ISDN, RS-232

举一个例子,对于zigbee网络来说,IEEE 802.15.4协议是白皮书,而IEEE 802.15.4协议只约定了物理层,数据链路层格式和需要满足的条件,上三层(网络层,ASP层,AF应用层)主要负责应用的开发,上三层协议由zigbee联盟规定的。不同的厂商如德州仪器,飞思卡尔,ATMEL等根据IEEE和zigbee的协议规定,然后结合自己的芯片实现和改进zigbee网络,提供协议栈给用户做应用。

为什么网络协议栈要分层:

  • 软件设计分割模块,降低耦合度
  • 合理功能划分,可以以任一层为基础做开发

两个相邻的协议层之间的关系:

  • 上层使用下层提供的接口,使用下层的服务,获取下层确认
  • 下层产生的事件回调交由上层处理

基于RS232的一个简单的区分数据包的协议,详见例子1

tcp/ip 协议简述

    #TODO

python-socket通信

    #TODO

http基础

    #TODO

小样

  1. rs232简单协议