网络编程实践陈硕笔记零

本文探讨了Richardson的Unix网络编程的不足,指出在非阻塞IO中处理TCP分包和并发模型的挑战。文章还介绍了网络术语,如Ethernet帧、IP分组、TCP分节和应用消息。进一步,它揭示了TCP协议在千兆以太网中的有效带宽,并概述了一个网络编程课程的结构,包括非并行和并行实例,以及涉及多机器数据处理和高级话题如RPC、负载均衡和延迟优化。

1、理查德森的unix网络编程有两样不足:一消息格式处理,特别是非阻塞IO上处理TCP分包问题;二是并发模型稍显陈旧,传统高并发采用事件驱动加非阻塞IO方式。

2、程序员面对的网络术语

Ethernet        frame(帧)

IP                  packet(分组)

TCP              segment(分节)

Application    message(消息)

3、TCP协议栈开销不大,在千兆以太网(1Gbit/s=120MB/s)的带宽中,TCP的有效带宽118MB/s(112MiB/s)(dd命令测试)

本机测试:


4、课程安排,讲解网络编程的例子

a、non-concurrent exapmples  基本的非并行阻塞式网络编程

TTCP

Round-trip  (clockerror between two hosts)UDP

NetCat

slow source 慢发,从应用层模拟网速慢的情景,特别在非阻塞时能否应对接受慢

b、concurrent examples  非阻塞式的并行网络编程

SOCKS proxy server (relay two TCP connections)request-response

Sudoku solver

Simple memecached

Broadcasting to multiple TCP peers (how to deal with slow receiver?)

c、Data processing with multiple machines 使用多台机器并行处理数据

(现在流行使用hadoop、Spark线程分布式计算框架来做)

Parallel N-queues 例子经典的N皇后问题

Median of numbers across machines 多机求解中值

frequent queries 多级找出最频繁的问题

Distributed sorting 分布式排序

d、advanced topics 高级话题

RPC

load balancing 

capacity of a serving system  (QPS)

Fight for latency 延迟时间











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值