网络编程基础

计算机网络功能主要包括实现资源共享,实现数据信息的快速传递。
    
OSI七层模型         
>制定组织: ISO(国际标准化组织)
 
>作用:使网络通信工作流程标准化
 
>应用层 : 提供用户服务,具体功能应用程序实现
>表示层 : 数据的压缩优化加密
>会话层 : 建立用户级的连接,选择适当的传输服务
>传输层 : 提供传输服务  
>网络层 : 路由选择,网络互联  
>链路层 : 进行数据交换,控制具体数据的发送
>物理层 : 提供数据传输的硬件保证,网卡接口,传输介质
 
>优点  
>1. 建立了统一的工作流程
>2. 分部清晰,各司其职,每个步骤分工明确
>3. 降低了各个模块之间的耦合度,便于开发
 
 
四层模型(TCP/IP模型)  
背景 : 实际工作中工程师无法完全按照七层模型要求操作,逐渐演化为更符合实际情况的四层
 

数据传输过程
   
1. 发送端由应用程序发送消息,逐层添加首部信息,最终在物理层发送消息包。
2. 发送的消息经过多个节点(交换机,路由器)传输,最终到达目标主机。
3. 目标主机由物理层逐层解析首部消息包,最终到应用程序呈现消息。
    

 
网络协议
        
>在网络数据传输中,都遵循的规定,包括建立什么样的数据结构,什么样的特殊标志等。
    
 网络基础概念           
* IP地址
>功能:确定一台主机的网络路由位置
 
>查看本机网络地址命令: ifconfig
 
>结构
>>IPv4  点分十进制表示 172.40.91.185 每部分取值范围0--255
>>IPv6  128位 扩大了地址范围
                
     
* 域名
>定义: 给网络服务器地址起的名字
 
>作用: 方便记忆,表达一定的含义
 
>ping [ip] : 测试和某个主机是否联通

* 端口号(port)
>作用:端口是网络地址的一部分,用于区分主机上不同的网络应用程序。
 
>特点:一个系统中的应用监听端口不能重复
 
>取值范围: 1 -- 65535
>>1--1023  系统应用或者大众程序监听端口
>>1024--65535 自用端口
 
 
传输层服务
 
面向连接的传输服务(基于TCP协议的数据传输)
 
1. 传输特征 : 提供了可靠的数据传输,可靠性指数据传输过程中无丢失,无失序,无差错,无重复。
       
2. 实现手段 : 在通信前需要建立数据连接,通信结束要正常断开连接。
 
> 三次握手(建立连接)
>>客户端向服务器发送消息报文请求连接
>>服务器收到请求后,回复报文确定可以连接
>>客户端收到回复,发送最终报文连接建立

                    
>四次挥手(断开连接)
>>主动方发送报文请求断开连接
>>被动方收到请求后,立即回复,表示准备断开
>>被动方准备就绪,再次发送报文表示可以断开
>>主动方收到确定,发送最终报文完成断开
 

3. 适用情况 : 对数据传输准确性有明确要求,传数文件较大,需要确保可靠性的情况。比如:网页获取,文件下载,邮件收发。
 
 
面向无连接的传输服务(基于UDP协议的数据传输)
 
1. 传输特点 : 不保证传输的可靠性,传输过程没有连接和断开,数据收发自由随意。
 
2. 适用情况 : 网络较差,对传输可靠性要求不高。比如:网络视频,群聊,广播

转载于:https://www.cnblogs.com/Alan-Song/p/11181072.html

网络编程基础,传输层服务相关推荐

  1. 网络编程(part8)--传输层服务之TCP和UDP

    鄙人学习笔记 文章目录 传输层服务 面向连接的传输服务(基于TCP协议的数据传输) 传输特征 实现手段 适用情况 面向无连接的传输服务(基于UDP协议的数据传输) 传输特点 适用情况 传输层服务 面向 ...

  2. Linux网络编程(传输层协议 )—tcp三次握手/四次挥手

    传输层协议:负责应用程序之间数据传输-TCP/UDP UDP协议: 16位源端-对端端口:用于描述识别通信两端进程 16位数据报长度:能够存储最大数字 65535,(udp报文总大小不超过64k) 1 ...

  3. 网络编程之 传输层的协议TCP与UDP

    传输层协议: TCP和UDP的区别: TCP:面向连接(经历三次握手).传输可靠(保证数据正确性,保证数据顺序).用于传输大量数据(流模式).速度慢,建立连接需要开销较多(时间,系统资源). 服务端和 ...

  4. 网络编程基础之C/S架构和TCP/IP协议

    一.何谓C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),既然我们的的标题是网络编程基础, 那我们就一起来学习怎样写一个C/S架构的软件,实现服务端与客户端软件基于网 ...

  5. python网络编程证书_《Python网络编程基础》笔记

    python网络编程基础 ================== Author: lujun9972 Date: 2013-03-08 22:29:20 CST Table of Contents == ...

  6. 迈入JavaWeb第一步,Java网络编程基础,TCP网络编程URL网络编程等

    文章目录 网络编程概述 网络通信要素 要素一IP和端口号 要素二网络协议 TCP网络编程 UDP网络编程 URL网络编程 Java网络编程基础 网络编程概述 Java是Internet上的语言,它从语 ...

  7. 万物互联之~网络编程基础篇

    入门篇¶ 官方文档:https://docs.python.org/3/library/ipc.html(进程间通信和网络) 实例代码:https://github.com/lotapp/BaseCo ...

  8. Linux网络编程基础知识

    Linux网络编程基础知识 1. 协议的概念 1.1 什么是协议 1.2 典型协议 2 网络应用程序设计模式 2.1 C/S模式 2.2 B/S模式 2.3 优缺点 3 分层模型 3.1 OSI七层模 ...

  9. Python网络编程基础之ip地址,端口号,TCP,socket

    Python网络编程基础 IP地址 ip地址表现形式 查看ip地址 Linux Windows 检查网络是否正常 端口与端口号 端口号分类 知名端口号 动态端口号 TCP协议 概念 TCP通讯步骤 特 ...

  10. Python网络编程之二:网络编程基础

    Python网络编程之二:网络编程基础 一.基础概念 1.两个地址 1.1.mac地址 mac地址:直译为媒体存取控制位址,也称为局域网地址.MAC位址.以太网地址或物理地址,它是一个用来确认网络设备 ...

最新文章

  1. 太赞了!NumPy 手写所有主流 ML 模型,由普林斯顿博士后 David Bourgin打造的史上最强机器学习基石项目!...
  2. 2013年7月27日杂记
  3. 笨办法学 Linux 8~11
  4. Storm中Topology、Worker、Executor和Task的关系
  5. (转)[Unity3D]UI方案及制作细节(NGUI/EZGUI/原生UI系统) 内附unused-assets清除实例
  6. Android View框架总结(五)View布局流程之Layout
  7. NTP服务器搭建教程
  8. 飞机坠落时应该主动抛弃油箱
  9. 属于计算机网络资源子网的,属于计算机网络的资源子网.pdf
  10. java web 图片 加载_Java web开发中加载图片路径的两种方式
  11. 全网最全HTML基础
  12. 【OpenGL ES】EGL简介
  13. 南京理工大学计算机学院施静,“为是这个学院的一分子而骄傲”----院友风采(2014届):南京理工大学最年轻教授 祁志祥...
  14. 854. Floyd求最短路
  15. 英特尔核显驱动hd630_秒速开机快如闪电 英特尔EVO平台惹人爱!
  16. java韩顺平学习笔记
  17. android关闭本应用的通知声音代码,关于android:当我的应用取消通知时,播放带有FLAG_INSISTENT通知的声音不会停止...
  18. 计算机相关新闻 英语,常见的新闻英语短语有什么
  19. 安全环境中的WebSphere代理服务器路由功能
  20. 叮当快药难寻属于自己的解药

热门文章

  1. 拓端tecdat|虎扑社区论坛数据爬虫分析报告
  2. ecs云服务器搭建php,云服务器 ecs怎么配置php
  3. 基于深度学习的WLAN个体识别实践
  4. Ubuntu下升级安装gcc-7.5.0教程
  5. C++ Make、Makefile、CMake和CMakeLists关系
  6. Go 并发 多线程 goroutine channel 实例
  7. kubernetes node节点join master 节点成功后, master节点无法发现node节点
  8. Docker教程小白实操入门(9)--基于export导出容器与基于import导入一个镜像
  9. 快速取得三位数的个位,十位,百位
  10. 计算机上的mrc功能,计算器上的MRC有什么功能?